📜  Java中的Deque接口与示例(1)

📅  最后修改于: 2023-12-03 15:16:28.798000             🧑  作者: Mango

Java中的Deque接口与示例

介绍

Java中的Deque接口,全称为“双端队列”,是一种可以从队列两端添加和删除元素的容器。Deque扩展了Queue接口,除了可以在队列的末尾添加元素外,还可以在队列的开头添加元素。Deque接口提供了许多与队列和栈相关的操作,例如在队列两端添加元素、访问队列两端的元素、删除队列两端的元素等。

Deque接口提供了两个实现类:ArrayDeque和LinkedList。 ArrayDeque就是一个基于数组的双端队列,LinkedList是一个基于链表的双端队列。因为ArrayDeque是基于数组实现的,所以它没有容量限制,而LinkedList则可以无限增长。

示例
创建Deque实例

可以使用Deque接口提供的两个实现类之一,即ArrayDequeLinkedList,来创建Deque实例:

Deque<String> deque = new LinkedList<>();

Deque<String> deque = new ArrayDeque<>();
添加元素

使用addFirst()offerFirst()方法在队列的开头添加元素,使用addLast()或者offerLast()方法在队列的末尾添加元素。

deque.addFirst("first");
deque.addLast("last");
获取元素

可以使用getFirst()element()方法返回队列的第一个元素,使用getLast()方法返回队列的最后一个元素。

String firstElement = deque.getFirst();
String lastElement = deque.getLast();
删除元素

可以使用removeFirst()pollFirst()方法从队列的开头删除元素,使用removeLast()pollLast()方法从队列的末尾删除元素。

deque.removeFirst();
deque.removeLast();
遍历元素

可以使用Iteratorforeach循环迭代遍历Deque中的元素。

Iterator<String> iterator = deque.iterator();
while(iterator.hasNext()){
  System.out.println(iterator.next());
}

或者使用foreach循环

for(String element : deque){
  System.out.println(element);
}
总结

Deque接口是Java中一个非常实用的容器,它基于队列和栈的基本操作,提供了双端队列的许多相关操作。在许多场景下,使用Deque可以实现更加简洁的代码和更高效的处理方式。