У меня есть очередь с приоритетами, в которую я добавляю объект Node, где узлы должны быть отсортированы по значению, которое они содержат. По какой-то причине приоритетная очередь не будет сортировать узлы при добавлении. Если кто-то может увидеть что-то не так с этим или у него есть какие-либо рекомендации, я ценю это. Вот краткий пример:
PriorityQueue<Node> PQ = new PriorityQueue<Node>();
//for each entry create a node and add it to the PriorityQueue
for(Entry<Character,Integer> entry : entries){
PQ.add(new Node(entry.getKey(),entry.getValue(), true));
}
вот метод узла compareTo
:
@Override
public int compareTo(Node n) {
if(n.frequency.intValue() > this.frequency.intValue()) return -1;
else if(n.frequency.intValue() == this.frequency.intValue()) return 0;
else return 1;
}