我想从localNodes中获得与散列表距离最小距离的节点。当我改变距离hashmap中的任何值的问题队列不重新排序我认为这个问题是因为我正在实现比较接口,就像那将作为内部类,并强制我声明hashmap为final。 有什么不同的方法。PriorityQueue和比较器
final HashMap<Node, Double> distance = new HashMap<>();
PriorityQueue<Node> localNodes = new PriorityQueue<>(10,
new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return distance.get((Node)o2).compareTo(distance.get((Node)o2));
}
});
是的,你是对的,+1 – Bozho
我明白这个原因在这里:) –