20220210 java.util.Queue
java.util.Queue
基本信息
public interface Queue<E> extends Collection<E>rt.jar- 引入版本:
1.5
使用说明
java.util.Collection的子接口,Java 集合框架的一员- 除了基本的
Collection操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。
| 抛出异常 | 返回特殊值 | |
|---|---|---|
| 插入 | add(e) |
offer(e) |
| 移除 | remove() |
poll() |
| 检查 | element() |
peek() |
- 队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素。
- 插入操作的后一种形式是用于专门为有容量限制的
Queue实现设计的;在大多数实现中,插入操作不会失败。offer方法设计用于正常的失败情况,而不是出现异常的情况,例如在容量固定(有界)的队列中。 remove()和poll()方法可移除和返回队列的头。到底从队列中移除哪个元素是队列排序策略的功能,而该策略在各种实现中是不同的。remove()和poll()方法仅在队列为空时其行为有所不同:remove()方法抛出一个异常,而poll()方法则返回null。element()和peek()返回,但不移除,队列的头。Queue接口并未定义 阻塞队列的方法,而这在并发编程中是很常见的。BlockingQueue接口定义了那些等待元素出现或等待队列中有可用空间的方法,这些方法扩展了此接口。Queue实现通常不允许插入null元素,尽管某些实现(如LinkedList)并不禁止插入null。即使在允许 null 的实现中,也不应该将null插入到Queue中,因为null也用作poll方法的一个特殊返回值,表明队列不包含元素。
继承关系

接口定义方法
| 接口定义方法 |
|---|
boolean add(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功时返回 true,如果当前没有可用的空间,则抛出 IllegalStateException。 |
boolean offer(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),当使用有容量限制的队列时,此方法通常要优于 add(E),后者可能无法插入元素,而只是抛出一个异常。如果该元素已添加到此队列,则返回 true;否则返回 false |
E remove();获取并移除此队列的头。 |
E poll();获取并移除此队列的头,如果此队列为空,则返回 null。 |
E element();获取,但是不移除此队列的头。 |
E peek();获取但不移除此队列的头;如果此队列为空,则返回 null。 |
浙公网安备 33010602011771号