1. 接口定义
这是一种设计用于在处理之前保存元素的集合。除了基本的 java.util.Collection
操作以外,队列还提供了额外的插入、提取和检索操作。这些操作方法都以两种形式存在:一种在操作失败时抛出异常,另一种是返回一个特殊值(根据操作的不同,可以是 null
或 false
)。后一种形式的插入操作是专门为使用容量设限的 Queue
实现而设计的;在大多数实现中,插入操作不会失败。
- | 抛出异常 | 返回特殊值 |
---|---|---|
插入 | add(e) | offer(e) |
提取/移除 | remove() | poll() |
检索/检查 | element() | peek() |
队列通常(但不一定)以 FIFO
(先进先出)方式对元素进行排序。优先级队列是一个例外,它根据提供的比较器或元素的自然顺序对元素进行排序;还有 LIFO
(后进先出)队列(或堆栈),它会对元素进行 LIFO
排序。但是,无论队列使用的顺序是什么,它的头部元素就是调用 remove()
或 poll()
将会被移除的元素。在 FIFO
队列中,所有的新元素都被插入到队列的尾部&#