Увеличение индекса Hashmap без циклов - PullRequest
1 голос
/ 13 ноября 2009

Я работаю над алгоритмом кластеризации. Я решил использовать hashmap для хранения точек, потому что думал, что я могу использовать как clusterID и как точку. Я выполняю поиск в режиме dfs, чтобы определить работу с ближайшими и моими расчетами, и все циклы данных происходят вне метода, который я идентифицирую кластерами.

Также целью этой кластеризации является то, что, если точка принадлежит тому же кластеру, ее идентификатор остается прежним. Что я хочу выяснить, так это то, что как только я ввожу значение в хэш-карту, как можно увеличить индекс для следующего значения (ключ будет таким же) без использования цикла.

Вот как выглядит мой метод, я взял некоторое содержание алгоритма, поскольку он действительно не имеет отношения к вопросу.

public void dfsNearest(double point) {

  double aPointInCluster = point;
  if(!cluster.contains(aPointInCluster)) {
                        ...
   this.setNumOfClusters(this.getNumOfClusters() + 1);
   mapOfCluster.put(this.getNumOfClusters(), aPointInCluster);
                        //after this i want to increase the index so no override happens
  }
                ...

  if(newNeighbor != 0.0) {
   cluster.add(newNeighbor);
   mapOfCluster.put(this.getNumOfClusters(), newNeighbor);
                        //want to increase the index....
                        ... 
   if (!visitedMap.containsKey(newNeighbor)) {
    dfsNearest(newNeighbor);
   }
  }
               ...
 }

Спасибо за любые предложения, также, пожалуйста, дайте мне знать, если остальная часть кода необходима для принятия правильного решения. Просто хотел, чтобы все было просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...