Queue 队列, 特点是先进先出(FIFO)
提供三种方法:
- 头部删除元素(出队)
- 尾部插入元素(入队)
- 单纯获取头部元素(这可能对于优先队列中很有用) (不出队)
对于操作失败有两种处理方式
- 抛出异常
- 放回特殊值 (null) 【大部分用这个】
Insert:
- boolean add(E e)
失败抛出异常
-
容量不足: IllegalStateException
-
指定类型的实例禁止入队:ClassCastException
-
不允许null元素入队:NullPointerException
-
如果此元素的某些属性阻止将其添加到此队列 : IllegalArgumentException
-
boolean offer(E e)
添加元素,失败则放回null
Remove:
-
E remove()
出队嘛,移除头部元素,返回头部元素。
队列为空抛出异常:NoSuchElementException -
poll()
移除头部元素,放回头部元素。
队列空,放回null
Examie:
-
element()
单纯获取头部元素
队列空,抛出异常。NoSuchElementException -
peek()
获取队列头部元素,为空则返回null。