PriorityQueue(优先队列),一个基于优先级堆的无界优先级队列。
实际上是一个堆(不指定Comparator时默认为最小堆),通过传入自定义的Comparator函数可以实现大顶堆。
1 | PriorityQueue<Integer> minHeap = new PriorityQueue<Integer>(); //小顶堆,默认容量为11 |
常用方法:
- 插入
- offer(E e)
- add(E e)
- 删除
- poll():获取并移除此队列的头
- remove(Object o)
- 堆顶(最大值or最小值)
- peek():获取但不移除此队列的头