优先队列PriorityQueue是Queue接口的实现,可以对其中元素进行排序
- 优先队列中元素默认排列顺序是升序排列
- 但对于自己定义的类来说,需要自己定义比较器
public class PriorityQueue<E> extends AbstractQueue<E>
implements java.io.Serializable {
...
private final Comparator<? super E> comparator;
方法:
peek()//返回队首元素
poll()//返回队首元素,队首元素出队列
add()//添加元素
size()//返回队列元素个数
isEmpty()//判断队列是否为空,为空返回true,不空返回false
特点:
- 1.基于优先级堆
- 2.不允许null值
- 3.线程不安全
- 4.出入队时间复杂度O(log(n))
- 5.调用remove()返回堆内最小值