一、简介
PriorityQueue是一个基于优先级的无界队列,Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。
Java中PriorityQueue默认是最小堆,可以通过传入Comparator实现最大堆。
二、使用
//小顶堆,默认容量为11
PriorityQueue<Integer> minHeap = new PriorityQueue<Integer>();
//大顶堆,容量11
PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(11,new Comparator<Integer>(){
@Override
public int compare(Integer i1,Integer i2){
return i2-i1;
}
});