PriorityQueue não classifica em add
Eu tenho uma fila de prioridade na qual adiciono um objeto Node, onde os nós devem ser classificados por um valor que eles contêm. Por algum motivo, a fila de prioridade não classificará os nós ao adicionar. Se alguém pode ver algo errado com isso ou tem alguma orientação, eu agradeço. Aqui está um breve exemplo:
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));
}
aqui é o @ do compareTo
método:
@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;
}