0%

Java集合总结

PriorityQueue

PriqorityQueue(优先队列)基于二叉小顶堆实现,可以用一颗完全二叉树来表示,底层采用数组来实现

假设树中父节点和左右子节点在数组中的下标分别为parentleftright,树中任一节点对应数组下标为node,则有:

left=parent * 2 + 1

right=parent * 2 + 2

parent=(node - 1) / 2

PriorityQueue不允许插入null元素,否则将抛出npe异常,

参考资料

  1. PriorityQueue
  2. 用PriorityQueue实现最大最小堆