- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包额外内容
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java ArrayDeque 类
介绍
Java ArrayDeque 类提供可调整大小的数组并实现Deque 接口。以下是关于 Array Deques 的重要要点:
Array deques 没有容量限制,因此它们会根据需要增长以支持使用。
它们不是线程安全的;在没有外部同步的情况下。
它们不支持多个线程的并发访问。
Array deques 中禁止使用空元素。
它们比 Stack 和 LinkedList 更快。
此类及其迭代器实现了Collection和Iterator接口的所有可选方法。
ArrayDeque 类声明
以下是java.util.ArrayDeque类的声明:
public class ArrayDeque<E> extends AbstractCollection<E> implements Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, Queue<E>
这里<E>表示一个元素,可以是任何类。例如,如果您正在构建一个整数的 ArrayDeque,则将其初始化为:
Deque<Integer> objDeque = new ArrayDeque<>();
ArrayDeque 类构造函数
序号 |
构造函数和描述 |
---|---|
1 |
ArrayDeque() 此构造函数用于创建一个空的 ArrayDeque,其初始容量足以容纳 16 个元素。 |
2 |
ArrayDeque(Collection<? extends E> c) 此构造函数用于创建一个包含指定集合元素的 deque。 |
3 |
ArrayDeque(int numElements) 此构造函数用于创建一个空的 ArrayDeque,其初始容量足以容纳指定数量的元素。 |
ArrayDeque 类方法
序号 |
方法和描述 |
---|---|
1 |
此方法将指定的元素插入到此 deque 的末尾。 |
2 |
boolean addAll(Collection<? extends E> c) 此方法将指定集合中的所有元素添加到此 deque 的末尾,如同对每个元素调用 addLast(E) 一样,按照集合迭代器返回它们的顺序。 |
3 |
此方法将指定的元素插入到此 deque 的开头。 |
4 |
此方法将指定的元素插入到此 deque 的末尾。 |
5 |
此方法从此 deque 中删除所有元素。 |
6 |
此方法返回此 deque 的副本。 |
7 |
如果此 deque 包含指定的元素,则此方法返回 true。 |
8 |
此方法检索但不删除此 deque 表示的队列的头部。 |
9 |
void forEach(Consumer<? super E> action) 此方法对 Iterable 的每个元素执行给定的操作,直到所有元素都已处理或操作引发异常。 |
10 |
此方法检索但不删除此 deque 的第一个元素。 |
11 |
此方法检索但不删除此 deque 的最后一个元素。 |
12 |
如果此 deque 不包含任何元素,则此方法返回 true。 |
13 |
此方法返回此 deque 中元素的迭代器。 |
14 |
此方法将指定的元素插入到此 deque 的末尾。 |
15 |
此方法将指定的元素插入到此 deque 的开头。 |
16 |
此方法将指定的元素插入到此 deque 的末尾。 |
17 |
此方法检索但不删除此 deque 表示的队列的头部,或者如果此 deque 为空则返回 null。 |
18 |
此方法检索并删除此 deque 表示的队列的头部,或者如果此 deque 为空则返回 null。 |
19 |
此方法检索并删除此 deque 的第一个元素,或者如果此 deque 为空则返回 null。 |
20 |
此方法检索并删除此 deque 的最后一个元素,或者如果此 deque 为空则返回 null。 |
21 |
此方法从此 deque 表示的堆栈中弹出元素。 |
22 |
此方法将元素压入此 deque 表示的堆栈。 |
23 |
此方法检索并删除此 deque 表示的队列的头部。 |
24 |
boolean removeAll(Collection<?> c) 此方法删除此集合中也包含在指定集合中的所有元素。 |
25 |
此方法检索并删除此 deque 的第一个元素。 |
26 |
boolean removeFirstOccurrence(Object o) 此方法删除此 deque 中指定元素的第一次出现。 |
27 |
boolean removeIf(Predicate<? super E> filter) 此方法删除满足给定谓词的此集合的所有元素。 |
28 |
此方法检索并删除此 deque 的最后一个元素。 |
29 |
boolean removeLastOccurrence(Object o) 此方法删除此 deque 中指定元素的最后一次出现。 |
30 |
boolean retainAll(Collection<?> c) 此方法仅保留此集合中包含在指定集合中的元素(可选操作)。 |
31 |
此方法返回此 deque 中的元素数量。 |
32 |
此方法在此 deque 中的元素上创建一个延迟绑定且快速失败的 Spliterator。 |
33 |
此方法返回一个包含此 deque 中所有元素的数组,顺序正确。 |
从 ArrayDeque 中添加和删除元素示例
此Java示例演示了如何使用 ArrayDeque 类。
// Importing classes import java.util.ArrayDeque; import java.util.Deque; // Public Main Class public class Main { public static void main(String[] args) { // The main() function Deque < Integer > objDeque = new ArrayDeque < > (); // Adding elements at first and last objDeque.addFirst(15); objDeque.addLast(28); // Removing the elements int ele1 = objDeque.removeFirst(); int ele2 = objDeque.removeLast(); // Printing removed elements System.out.println("First removed element is : " + ele1); System.out.println("Last removed element is : " + ele2); } }
输出
这将产生以下结果:
First removed element is : 15 Last removed element is : 28