
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.二叉树概念
二叉堆:一颗完全二叉树,它非常适合用数组进行存储,对于数组中的元素 a[i],其左子节点为 a[2*i+1],其右子节点为 a[2*i + 2],其父节点为 a[(i-1)/2],其堆序性质为,每个节点的值都小于其左右子节点的值。二叉堆中最小的值就是根节点,但是删除根节点是比较麻烦的,因为需要调整树。

2.构造方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public PriorityBlockingQueue() {
this (DEFAULT_INITIAL_CAPACITY, null );
}
public PriorityBlockingQueue(int initialCapacity) {
this (initialCapacity, null );
}
public PriorityBlockingQueue(int initialCapacity,
Comparator<? super E> comparator) {
if (initialCapacity < 1)
throw new IllegalArgumentException();
this .lock = new ReentrantLock();
this .notEmpty = lock.newCondition();
this .comparator = comparator;
this .queue = new Object[initialCapacity];
}
|
3.继承结构

以上就是PriorityBlockingQueue在java中的原理,相信经过本篇的学习,大家已经对PriorityBlockingQueue的概念理解透彻,同时更好的运用其优先级的处理队列方法。