📅  最后修改于: 2023-12-03 14:42:12.895000             🧑  作者: Mango
ArrayDeque
是Java集合框架中提供的双向队列实现类,它同时具有栈和队列的特性。ArrayDeque
在内部使用一个数组来存储元素,并且它是一个无界队列,可以根据需要自动扩容或收缩。因此,它比LinkedList
和ArrayBlockingQueue
等其他队列实现类具有更高的性能。
ArrayDeque
类实现了Deque
接口,我们可以通过以下方式来创建一个ArrayDeque
对象:
Deque<Integer> deque = new ArrayDeque<>();
上述代码中,我们创建了一个ArrayDeque
对象并声明它是一个Deque
实例。这种方式可以让我们以面向接口的编程方式来编写代码,这样代码的扩展性会更好。
添加元素是一种基本操作,我们可以通过以下代码向ArrayDeque
中添加元素:
deque.add(1);
deque.add(2);
deque.add(3);
也可以使用addAll
方法一次性添加多个元素:
List<Integer> list = Arrays.asList(4, 5, 6);
deque.addAll(list);
获取元素也是一种基本操作,我们可以使用以下代码获取ArrayDeque
中的元素:
Integer first = deque.getFirst();
Integer last = deque.getLast();
也可以使用peek
方法获取队列头部的元素:
Integer peek = deque.peek();
删除元素也是一种基本操作,我们可以使用以下代码删除ArrayDeque
中的元素:
Integer first = deque.removeFirst();
Integer last = deque.removeLast();
也可以使用poll
方法删除队列头部的元素:
Integer poll = deque.poll();
遍历元素是一种常见操作,我们可以使用以下方式遍历ArrayDeque
中的元素:
for (Integer i : deque) {
System.out.println(i);
}
或者使用forEach
方法:
deque.forEach(System.out::println);
判断元素是否存在也是一种常见操作,可以使用以下代码判断元素是否存在于ArrayDeque
中:
boolean contains = deque.contains(3);
ArrayDeque
是Java集合框架中一种高性能的双向队列实现,它可以同时具有栈和队列的特性。我们可以用它来存储元素,并可以随时添加或删除元素。在开发过程中,我们应该根据需要选择合适的集合实现,以达到最佳的性能和可扩展性。