Java 的 PriorityQueue 的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
2022-09-02 23:34:15
这直接来自Java文档:
此类及其迭代器实现集合和迭代器接口的所有可选方法。方法迭代器()中提供的迭代器不保证以任何特定顺序遍历优先级队列的元素。如果需要有序遍历,请考虑使用 Arrays.sort(pq.toArray())。
所以基本上,我的PriorityQueue工作正常,但是使用它自己内置的toString()方法将其打印到屏幕上,使我看到这种异常现象,并且想知道是否有人可以解释为什么提供的迭代器(并在内部使用)不以自然顺序遍历PriorityQueue?