import java.util.PriorityQueue;
public class TestPriorityQueue {
public static void main(String[] args) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.offer(4);
pq.offer(5);
pq.offer(8);
pq.offer(2);
System.out.println("init " + pq);
int size = pq.size();
for (int i = 0; i < size; i++) {
System.out.print(pq.poll() + " ");
}
}
}
运行结果:
init [2, 4, 8, 5]
2 4 5 8
如上代码所示,优先队列(小顶堆)直接打印出来并不是有序的,但是每次调用poll()函数时弹出并返回队列中的最小值,每次调用peek()函数时返回队列的最小值。