Deque(双端队列)是一种数据结构,它允许在两端进行插入和删除操作。它可以被视为既有栈的特性(后进先出),又有队列的特性(先进先出)。
在 Java 中,你可以使用java.util.Deque
接口来实现双端队列。常用的实现类是ArrayDeque
和LinkedList
。
下面是一个简单示例代码,演示了如何使用ArrayDeque
:
import java.util.ArrayDeque;
import java.util.Deque;
public class DequeExample {
public static void main(String[] args) {
// 创建一个双端队列
Deque<String> deque = new ArrayDeque<>();
// 在队尾添加元素
deque.addLast("A");
deque.addLast("B");
deque.addLast("C");
// 在队头添加元素
deque.addFirst("D");
deque.addFirst("E");
System.out.println("双端队列的元素: " + deque);
// 获取并移除队头元素
String firstElement = deque.removeFirst();
System.out.println("移除的队头元素: " + firstElement);
// 获取并移除队尾元素
String lastElement = deque.removeLast();
System.out.println("移除的队尾元素: " + lastElement);
System.out.println("剩余的双端队列元素: " + deque);
}
}
输出结果:
双端队列的元素: [E, D, A, B, C]
移除的队头元素: E
移除的队尾元素: C
剩余的双端队列元素: [D, A, B]
在这个示例中,我们首先创建了一个ArrayDeque
对象,并使用addLast()
方法在队尾添加元素。然后使用addFirst()
方法在队头添加元素。
接下来,我们使用removeFirst()
方法获取并移除队头元素,再使用removeLast()
方法获取并移除队尾元素。 最后,我们打印出剩余的双端队列元素。
在使用
Deque
时,你可以根据需求选择合适的实现类(如ArrayDeque
或LinkedList
),它们有不同的性能特点和适用场景。