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>