程序员社区

(Java集合面试题)什么是Java优先级队列(Priority Queue)?

优先队列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()返回堆内最小值

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java集合面试题)什么是Java优先级队列(Priority Queue)?

一个分享Java & Python知识的社区