java源码-PriorityQueue
开篇 PriorityQueue是具备了小根堆性质的数据结构也就是优先队列PriorityQueue,内部实现是一个堆排序的数据结构。 PriorityQueue的逻辑结构是一棵完全二叉树,存储结构其实是一个数组。逻辑结构层次遍历的结果刚好是一个数组,如下图。 PriorityQueue PriorityQueue类图 PriorityQueue类图 PriorityQueue类变量和构造函数 PriorityQueue的类变量当中包含存储元素的数组queue和用于排序的比较器comparator。 PriorityQueue的构造函数参数中包含存储数组的大小initialCapacity和比较器comparator。 PriorityQueue的构造函数针对传入为Collection的对象的时候会依据是否已经排好序进行初始化,针对无序的集合通过heapify进行堆序的构建。 public class PriorityQueue<E> extends AbstractQueue<E> implements java.io.Serializable { ...