📅  最后修改于: 2023-12-03 14:42:21.433000             🧑  作者: Mango
Java中的ArrayDeque是一个双向队列,也就是说它可以从队首或者队尾添加或者删除元素,具有相比于普通队列更加灵活的特性。ArrayDeque的内部是由一个数组实现的,所以它的访问速度比LinkedList更快。以下是ArrayDeque的详细介绍。
ArrayDeque可以通过以下两种方式创建:
通过默认构造函数
Deque<Integer> deque = new ArrayDeque<Integer>();
通过一个给定的集合创建
List<Integer> list = new ArrayList<>();
Deque<Integer> deque = new ArrayDeque<>(list);
可以通过以下代码实现添加元素的操作:
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(5); // 从队首添加元素
deque.addLast(10); // 从队尾添加元素
可以使用以下代码实现删除元素的操作:
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(5); // 从队首添加元素
deque.addLast(10); // 从队尾添加元素
deque.removeFirst(); // 删除队首元素
deque.removeLast(); // 删除队尾元素
可以使用以下代码获取双向队列中的元素:
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(5); // 从队首添加元素
deque.addLast(10); // 从队尾添加元素
Integer firstElement = deque.getFirst(); // 获取第一个元素
Integer lastElement = deque.getLast(); // 获取最后一个元素
可以使用以下代码判断队列是否为空:
Deque<Integer> deque = new ArrayDeque<>();
if (deque.isEmpty()) {
System.out.println("队列为空!");
}
可以使用以下代码遍历队列中的所有元素:
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(5); // 从队首添加元素
deque.addLast(10); // 从队尾添加元素
for (Integer element : deque) {
System.out.println("元素值为:" + element);
}
ArrayDeque是Java中的双向队列,可以从队首或者队尾添加或者删除元素。它的内部实现是由一个数组实现的,访问速度比LinkedList更快。使用ArrayDeque可以轻松地实现队列的添加、删除、获取、判断是否为空以及遍历队列等操作。