如何遍历PriorityQueue?
for (Event e : pq)
不会按优先级顺序进行迭代。
while(!pq.isEmpty()){ Event e = pq.poll();
}
这可以工作,但可以清空队列。
回答:
从Javadocs
方法中提供的Iterator
iterator()
不能保证以任何特定顺序遍历PriorityQueue的元素。如果您需要有序遍历,请考虑使用Arrays.sort(pq.toArray())
。
可能还有其他等效的机制。
以上是 如何遍历PriorityQueue? 的全部内容, 来源链接: utcz.com/qa/429470.html