打印Java优先级队列时出现意外的元素顺序

时间:2018-12-02 07:15:41

标签: java algorithm data-structures priority-queue

我对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)。 有人知道这个问题吗?

0 个答案:

没有答案