以下代码创建了一个排序集,该集按其值而不是感谢键进行排序。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());