以下代碼創建一個按照值排序的排序集,而不是按鍵。 vertexRank
是負責獲取價值的對象。除了代碼之外,一切正常:vertexCentralities.addAll(vMap.entrySet());
會發生什麼情況是,只有vMap的第一個條目被添加到vertexCentralities而不是所有條目。Java SortedSet全部添加
如何從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());
在vMap上執行'sysout'來查看它有多少個元素? – mtk