1、Deque 简述
线性集合,支持两端插入和移除元素。名称deque是“双端队列(double ended queue)”的缩写,通常发音为“deck”。
大多数Deque实现对它们可能包含的元素数量没有固定限制,但是此接口支持容量限制的deques以及没有固定大小限制的deques。此接口定义了访问双端队列两端元素的方法,提供了插入,移除和检索元素的方法。这些方法中的每一种都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值(null或false,具体取决于操作)。 后一种形式的插入操作专门设计用于容量限制的Deque实现, 在大多数实现中,插入操作不会失败。
上述中三种操作涉及十二种方法总结在下表中:
First Element (Head) | Last Element (Tail) | |||
Throws exception | Special value | Throws exception | Special value | |
Insert(插入操作) | addFirst(e) |
offerFirst(e) |
addLast(e) |
offerLast(e) |
Remove(移除操作) | removeFirst() |
pollFirst() |
removeLast() |
pollLast() |
Examine(检索操作) | getFirst() |
peekFirst() |
getLast() < |