集合:Queue
Queue:Deque,PriorityQueue,PriorityBlockingQueue,ArrayBlockingQueue
Queue用于模拟队列这种数据结构。队列通常是指“先进先出(FIFO)”的容器。队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。新元素插入到队列的尾部,取出元素会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。
1. PriorityQueue:无边界,支持优先级队列实现类,非线程安全。按源码注释:添加修改等操作的时间复杂度为O(log(n));底层用数组实现,初始容量为11, 队列优先级可以根据自定义Comparator,不定义将使用自然排序。
/**
* Increases the capacity of the array.
*
* @param minCapacity the desired minimum capacity
*/
private void grow(int minCapacity) {
int oldCapacity = queue.length;
// Double size if small; else grow by 50%
int newCapacity = oldCapa