次のコードは、キーではなく値でソートするソート済みセットを作成します。vertexRank
値の取得を担当するオブジェクトです。コード以外はvertexCentralities.addAll(vMap.entrySet());
すべて正常に動作します。すべてのエントリではなく、vMap からの最初のエントリのみが vertexCentralities に追加されます。
vMap から vertexCentralities にすべてのエントリを取得するにはどうすればよいですか?
SortedSet<Map.Entry<String, Double>> vertexCentralities = new TreeSet<Map.Entry<String, Double>>( new Comparator<Map.Entry<String, Double>>() { @Override public int compare(Map.Entry<String, Double> e1, Map.Entry<String, Double> e2) { return e2.getValue().compareTo(e1.getValue()); } }); SortedMap<String, Double> vMap = new TreeMap<String, Double>(); double curRank = 0; for(String vStr: g.getVertices()) { curRank = vertexRank.getVertexScore(vStr); vMap.put(vStr, curRank); } vertexCentralities.addAll(vMap.entrySet());