我对Java中的优先级队列有疑问。 我有下面的例子。
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(new Comparator<Integer>() {
public int compare(Integer w1, Integer w2) {
return w1.compareTo(w2);
}
});
priorityQueue.offer(1);
priorityQueue.offer(2);
priorityQueue.offer(3);
priorityQueue.offer(1);
priorityQueue.offer(2);
priorityQueue.offer(1);
priorityQueue.offer(2);
priorityQueue.offer(3);
System.out.println(priorityQueue); // 1,1,1,2,2,3,2,3
我期望有关队列顺序的结果(1,1,1,2,2,2,3,3); 但我收到了(1,1,1,2,2,3,2,3)。 有人知道这个问题吗?