Dequeing (re-heapify = O(log n) time) 不仅仅是取出该元素的问题,底层结构会重新排列自身,以便首先带来优先级最低的元素。 此外,遍历整个优先级队列以按排序顺序读取所有项目,这是一个 O(n log(n)) 操作。 所以你也可以只抓取队列中的所有元素并对它们进行排序(也 O(n log (n)) )然后你可以按照你的...
方法中提供的迭代器 iterator() 不保证以任何特定顺序遍历 PriorityQueue 的元素。如果您需要有序遍历,请考虑使用 Arrays.sort(pq.toArray())。 可能还有其他等效机制。 原文由 Oliver Charlesworth 发布,翻译遵循 CC BY-SA 4.0 许可协议 有用 回复 查看全部 2 个回答 推荐问题 如何避免在Java中调用空引用对象的...