Java ArrayDeque 类


介绍

Java ArrayDeque类提供可调整大小的数组并实现Deque接口。以下是关于数组双端队列的要点 -

  • 数组双端队列没有容量限制,因此它们会根据需要进行增长以支持使用。

  • 它们不是线程安全的;在没有外部同步的情况下。

  • 它们不支持多线程并发访问。

  • 数组双端队列中禁止出现空元素。

  • 它们比 Stack 和 LinkedList 更快。

此类及其迭代器实现了CollectionIterator接口的所有可选方法。

类声明

以下是java.util.ArrayDeque类的声明-

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

这里<E>代表一个 Element,它可以是任何类。例如,如果您正在构建一个整数数组列表,那么您可以将其初始化为 -

ArrayList<Integer> list = new ArrayList<Integer>();  

类构造函数

先生。

构造函数及描述

1

ArrayDeque()

此构造函数用于创建一个空数组双端队列,其初始容量足以容纳 16 个元素。

2

ArrayDeque(Collection<? 扩展 E> c)

此构造函数用于创建包含指定集合的​​元素的双端队列。

3

ArrayDeque(int numElements)

此构造函数用于创建一个空数组双端队列,其初始容量足以容纳指定数量的元素。

类方法

先生。

方法及说明

1

布尔加法(E e)

此方法在此双端队列的末尾插入指定的元素。

2

boolean addAll​(Collection<? extends E> c)

此方法将指定集合中的所有元素添加到此双端队列的末尾,就像对每个元素调用 addLast(E) 一样,按照集合迭代器返回的顺序排列这些元素。

3

无效addFirst(E e)

此方法在此双端队列的前面插入指定的元素。

4

无效addLast(E e)

此方法在此双端队列的末尾插入指定的元素。

5

无效清除()

此方法从该双端队列中删除所有元素。

6

ArrayDeque<E> 克隆()

此方法返回此双端队列的副本。

7

布尔值包含(对象o)

如果此双端队列包含指定元素,则此方法返回 true。

8

E 元素()

此方法检索但不删除此双端队列所表示的队列的头部。

9

void forEach​(Consumer<? super E> 操作)

此方法对 Iterable 的每个元素执行给定的操作,直到处理完所有元素或该操作引发异常。

10

E getFirst()

此方法检索但不删除此双端队列的第一个元素。

11

E getLast()

此方法检索但不删除此双端队列的最后一个元素。

12

布尔值 isEmpty()

如果此双端队列不包含任何元素,则此方法返回 true。

13

迭代器<E> 迭代器()

此方法返回对此双端队列中的元素的迭代器。

14

布尔报价(E e)

此方法在此双端队列的末尾插入指定的元素。

15

布尔 OfferFirst(E e)

此方法在此双端队列的前面插入指定的元素。

16

布尔最后报价(E e)

此方法在此双端队列的末尾插入指定的元素。

17 号

E 窥视()

此方法检索但不删除此双端队列所表示的队列的头,或者如果此双端队列为空,则返回 null。

18

电子民意调查()

此方法检索并删除此双端队列表示的队列的头部,如果此双端队列为空,则返回 null。

19

E pollFirst()

此方法检索并删除此双端队列的第一个元素,如果此双端队列为空,则返回 null。

20

E pollLast()

此方法检索并删除此双端队列的最后一个元素,或者如果此双端队列为空,则返回 null。

21

E 弹出()

此方法从此双端队列表示的堆栈中弹出一个元素。

22

无效推(E e)

此方法将元素推送到此双端队列表示的堆栈上。

23

E 删除()

此方法检索并删除此双端队列表示的队列的头部。

24

布尔值removeAll​(Collection<?> c)

此方法删除该集合中也包含在指定集合中的所有元素。

25

E 删除第一个()

此方法检索并删除此双端队列的第一个元素。

26

布尔值removeFirstOccurrence(对象o)

此方法删除此双端队列中第一次出现的指定元素。

27

boolean removeIf​(Predicate<? super E> 过滤器)

此方法删除此集合中满足给定谓词的所有元素。

28

E 删除最后一个()

此方法检索并删除此双端队列的最后一个元素。

29

布尔值removeLastOccurrence(对象o)

此方法删除此双端队列中最后一次出现的指定元素。

30

布尔retainAll​(集合<?> c)

此方法仅保留此集合中包含在指定集合中的元素(可选操作)。

31

整数大小()

此方法返回此双端队列中的元素数量。

32

Spliterator<E> spliterator()

此方法在此双端队列中的元素上创建一个后期绑定和快速失败的 Spliterator。

33

对象[] toArray()

此方法返回一个数组,其中按正确的顺序包含此双端队列中的所有元素。