16
我有一个优先级队列中,我节点对象添加到,其中节点应该由一个值,它们包含进行排序。出于某种原因,优先级队列不会对添加的节点进行排序。如果任何人都可以看到有问题或有任何指导,我很感激。下面是一个简单的例子:PriorityQueue中未排序上添加
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;
}
权,但我希望它是在去除使用remove()方法 – 2011-04-17 17:30:38
@Trevor每个对象的分类:您还没有表现出迭代码。请更新您的问题以显示一个节目,但*完整的例子,我们可以编译并运行。 – 2011-04-17 17:31:49
没关系,我现在意识到在remove()上对象被排序。感谢所有 – 2011-04-17 17:35:17