简介:
- 头部添加元素,尾部删除元素,查找元素个数
- 双端队列:即可以在队列头部尾部添加删除元素,不支持在队列中间添加元素
- 拓展AbstractQueue类比实现Queue接口实现所有方法好
方法
| boolean | add(E e) | 如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列,成功时返回 true ,如果当前没有空间,则抛出 IllegalStateException 。 |
|---|---|---|
| E | element() | 检索但不删除此队列的头部。 |
| boolean | offer(E e) | 如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列。 |
| E | peek() | 检索但不删除此队列的头部,如果此队列为空,则返回 null 。 |
| E | poll() | 检索并删除此队列的头部,如果此队列为空,则返回 null 。 |
| E | remove() | 检索并删除此队列的头部。 |
ArrayDeque()
实现Deque()接口(LinkedList也实现了即是双端队列)
LinkedList()
PriorityQueue:优先级队列
- 可以按照任意顺序排序,按照排序的顺序进行检索
- 调用remove方法,总是当前队列优先级最小的元素;并没有对所有元素进行排序
- 使用堆heap的数据结构,即可以自我调整的二叉树
- 与TreeSet一样,及可以保存实现了Comparable接口的类对象,也可以是构造器提供Compator的对象
