Java ArrayDeque 类

Java.util 包提供了一个 ArrayDeque 类,该类提供 Deque 接口的可调整大小的数组实现。数组双端队列没有容量限制,并且会根据需要进行增长以支持使用。它不是线程安全的;在没有外部同步的情况下。不支持多线程并发访问。 ArrayDeque 中禁止使用空元素。当用作堆栈时,它可能比 Stack 更快,当用作队列时,它可能比 LinkedList 更快。

ArrayDeque 类及其迭代器实现了 Collection 和 Iterator 接口的所有可选方法。

类声明

java.util.ArrayDeque类的声明为:

public class ArrayDeque<E>
  extends AbstractCollection<E>
    implements Deque<E>, Cloneable, Serializable 

这里,E是容器维护的元素类型。

类构造函数

序号构造函数和描述
1.ArrayDeque()
创建一个空数组双端队列初始容量可容纳 16 个元件.
2.ArrayDeque(Collection<? extends E> c)
创建一个包含以下元素的双端队列指定的集合,按照集合的迭代器返回它们的顺序.
3.ArrayDeque(int numElements)
创建一个空数组双端队列,其初始容量足以保存指定数量的元素.

java.util.ArrayDeque 方法

java.util.ArrayDeque 类有许多方法,如下所示:

成员方法

序号方法和描述
1.boolean add(E element)
在双端队列末尾添加一个新元素.
2.void addFirst(E element)
在双端队列的前面添加一个新元素.
3.void addLast(E element)
在双端队列的末尾添加一个新元素.
4.voidclear()
清除双端队列的所有元素.
5.ArrayDeque<E> clone()
返回双端队列实例的副本.
6.boolean contains(Object obj)
如果双端队列包含指定元素,则返回 true.
7.Iterator<E> DescendingIterator()
以相反的顺序返回双端队列中元素的迭代器.
8.E element()
检索但不删除由双端队列表示的队列的头(第一个元素).
9.E getFirst()
检索但不删除双端队列的第一个元素.
10.E getLast()
检索但不删除双端队列的最后一个元素.
11.boolean isEmpty()
如果双端队列为空,则返回 true,否则返回 false.
12.Iterator<E> iterator()
返回双端队列中元素的迭代器.
13.boolean offer(E element)
将指定元素添加到双端队列的末尾.
14.booleanofferFirst(E element)
在双端队列的前面插入指定的元素.
15.boolean OfferLast(E element)
将指定的元素插入到双端队列的末尾.
16.E peek()
检索但不删除双端队列的头部(第一个元素).
17.E peekFirst()
检索但不删除双端队列的头(第一个元素),或者如果双端队列为空,则返回 null.
18.E peekLast()
检索但不删除双端队列的最后一个元素,如果双端队列为空,则返回 null.
19.E poll()
检索并删除双端队列的头部(第一个元素).
20.E pollFirst()
检索并删除双端队列的头(第一个元素),如果双端队列为空,则返回 null.
21.E pollLast()
检索并删除双端队列的最后一个元素,如果双端队列为空,则返回 null.
22.E pop()
从双端队列表示的堆栈中弹出一个元素.
23.void push(E remove)
将一个元素压入由双端队列表示的堆栈上.
24.E remove()
检索并删除由双端队列表示的队列头.
25.boolean remove(Object obj)
从双端队列中删除指定元素的单个实例.
26.E removeFirst()
删除并返回双端队列中的第一个元素.
27.boolean removeFirstOccurrence(Object obj)
删除此双端队列中第一次出现的指定元素(从头到尾遍历双端队列时).
28.E removeLast()
删除并返回双端队列中的最后一个元素.
29.booleanremoveLastOccurrence(Object obj)
删除此双端队列中最后一次出现的指定元素(从头到尾遍历双端队列时).
30.int size()
返回双端队列中的元素数量.
31.Spliterator<E> spliterator()
在双端队列中的元素上创建一个后期绑定和快速失败的分割器.
32.Object[] toArray()
返回一个数组,其中包含此双端队列中按正确顺序(从第一个元素到最后一个元素)的所有元素.
33.<T> T[] toArray( T[] a)
返回一个数组,其中按正确顺序(从第一个元素到最后一个元素)包含此双端队列中的所有元素;返回数组的运行时类型是指定数组的运行时类型.

继承的方法

该类继承了以下类的方法:

  • java.lang.Object
  • java.util.AbstractCollection<E>