Java 集合-Quque
本文将介绍 Java 集合中的 Quque。
一、什么是 Quque?
Quque,队列,特殊的列表,仅允许在队头或对尾进行操作。
二、常用方法
1. Collection 方法
2. 特有方法
方法 | 说明 |
---|---|
add(obj) | 添加元素至队尾 |
remove() | 移除队头元素 |
element() | 返回队头元素 |
peek() | 返回队头元素 |
poll() | 返回并删除队头元素 |
offer() | 添加元素至队尾 |
三、Deque 接口
Deque,double ended queue,即双向队列。
Deque 接口继承自 Queue 接口,规定了双向队列的操作方法。
方法 | 说明 |
---|---|
addFirst(e) / offerFirst(e) / addLast(e) / offerLast(e) | 插入头 / 尾,失败则报异常 / 返回错误 |
removeFirst() / pollFirst() / removeLast() / pollLast() | 删除头 / 尾,失败则报异常 / 返回错误 |
getFirst() / peekFirst() / getLast() / peekLast() | 查看头 / 尾,失败则报异常 / 返回错误 |
四、ArrayDeque
1. 特点
- 底层通过数组实现
- 针对双端队列可能在两端任意插入、删除元素的特点,采用了循环数组,以保证空间的充分利用
五、LinkedList
具体请看:
六、PriorityQueue
1. 特点
底层通过堆实现
优先队列,能保证每次取出的元素都是队列中权值最小的
权值的判断可以通过自然顺序,也可以通过构造时传入的 Comparator
2. 具体实现
基于数组实现的小顶堆。
参考
疯狂 Java 讲义