Java Doc 说:创建一个具有默认初始容量 (11) 的 PriorityQueue,它根据元素的自然顺序对其元素进行排序。
但是当我写一些这样的测试时:
public class Test {
public static void main (String a[]) {
Queue<Integer> queue = new PriorityQueue<Integer>();
for (int i = 1; i <= 20; i++) {
queue.offer(i);
}
System.out.println(queue);
Queue<Integer> queue2 = new PriorityQueue<Integer>();
for (int i = 20; i >= 1; i--) {
queue2.offer(i);
}
System.out.println(queue2);
}
}
我得到以下输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[1, 2, 7, 4, 3, 10, 8, 11, 5, 12, 13, 19, 15, 16, 9, 20, 14, 17, 6, 18]
看起来像两个具有相同内容的队列,它们的内容没有得到相同的顺序?