简介:

  • 头部添加元素,尾部删除元素,查找元素个数
  • 双端队列:即可以在队列头部尾部添加删除元素,不支持在队列中间添加元素
  • 拓展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:优先级队列

  1. 可以按照任意顺序排序,按照排序的顺序进行检索
  2. 调用remove方法,总是当前队列优先级最小的元素;并没有对所有元素进行排序
  3. 使用堆heap的数据结构,即可以自我调整的二叉树
  4. 与TreeSet一样,及可以保存实现了Comparable接口的类对象,也可以是构造器提供Compator的对象