我编写了以下代码以将整数集合添加到优先级队列中。我对输出感到困惑
public static void main(String[] args) {
int[] pipes = {4, 3, 2, 6 };
PriorityQueue<Integer> minHeap = new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2;
}
});
minHeap.addAll(IntStream.of(pipes).boxed().collect(Collectors.toList()));
System.out.println(minHeap);
}
我希望输出为
[2, 3, 4, 6]
,但打印为[2, 4, 3, 6]
。有人能解释一下为什么 3 没有在 4 之前打印出来吗??我在 addAll 方法上做错了什么吗??