如何迭代PriorityQueue? [英] How to iterate over a PriorityQueue?
本文介绍了如何迭代PriorityQueue?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
for (Event e : pq)
doesn'按优先顺序迭代。
doesn't iterate in the priority order.
while(!pq.isEmpty()){
Event e = pq.poll();
}
这样可以排空队列。
推荐答案
来自 Javadocs :
方法
iterator()
不保证以任何特定顺序遍历PriorityQueue的元素。如果您需要有序遍历,请考虑使用Arrays.sort(pq.toArray())
。
The Iterator provided in method
iterator()
is not guaranteed to traverse the elements of the PriorityQueue in any particular order. If you need ordered traversal, consider usingArrays.sort(pq.toArray())
.
可能还有其他等效机制。
There are probably other equivalent mechanisms.
这篇关于如何迭代PriorityQueue?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文