相关疑难解决方法(0)

PriorityQueue没有在添加上排序

我有一个优先级队列,我在其中添加一个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));
        }
Run Code Online (Sandbox Code Playgroud)

这是节点的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;
}
Run Code Online (Sandbox Code Playgroud)

java sorting priority-queue

25
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1

priority-queue ×1

sorting ×1