为什么优先队列会给出这样的结果?

时间:2015-05-13 07:43:46

标签: priority-queue

public static void main(String[] args) {
    Queue<Integer> queue = new PriorityQueue<>();
    for(int i = 10; i>0; i--){
        queue.offer(i);
    }
    System.out.println(queue);
}    

此代码给出 [1,2,5,4,3,9,6,10,7,8]

为什么呢? 由于Integer类的自然排序,我期望它是按升序排列的数字。

1 个答案:

答案 0 :(得分:0)

您无需打印队列。你需要偷看并拉动它,它将被分类。 toString()方法没有排序,但队列是。