ArrayDeque 是 Deque 接口的一种具体实现,是依赖于可变数组来实现的。ArrayDeque 没有容量限制,可根据需求自动进行扩容。ArrayDeque不支持值为 null 的元素。
ArrayDeque中对双端数据的操作
| 头部数据 | 头部数据 | 尾部数据 | 尾部数据 |
---|
| 抛出异常 | 返回false | 抛出异常 | 返回false |
插入 | addFirst(e) | offerFirst(e) | addLast(e) | offerLast(e) |
移除 | removeFirst() | pollFirst() | removeLast() | pollLast() |
查看 | getFirst() | peekFirst() | getLast() | peekLast() |
ArrayDeque中的队列操作方法
队列方法 | ArrayDeque方法 |
---|
add(e) | addLast(e) |
offer(e) | offerLast(e) |
remove() | removeFirst() |
poll() | pollFirst() |
element() | getFirst() |
peek() | peekFirst() |
ArrayDeque中的栈操作方法
栈方法 | ArrayDeque方法 |
---|
push(e) | addFirst(e) |
pop() | removeFirst() |
peek() | peekFIrst() |
其中,这些针对队列和栈的操作方法可以在ArrayDeque中直接使用。栈操作中,添加和删除元素都在Deque的头部;队列操作中,添加元素在Deque的尾部操作,删除元素在Deque的头部操作。