当前位置:实例文章 » JAVA Web实例» [文章]浅谈java中集合框架-双端队列 deque

浅谈java中集合框架-双端队列 deque

发布人:shili8 发布时间:2023-11-20 23:09 阅读次数:0

双端队列(Deque)是Java集合框架中的一种数据结构,它可以在队列的两端进行插入和删除操作。Deque是“双端队列”的缩写,它继承自Queue接口,并且扩展了Queue接口的功能,使得我们可以在队列的两端进行操作。

在Java中,Deque接口有两个实现类:ArrayDeque和LinkedList。ArrayDeque是基于数组实现的双端队列,而LinkedList是基于链表实现的双端队列。下面我们将分别介绍这两种实现方式。

首先,我们来看ArrayDeque的使用示例:

java
import java.util.ArrayDeque;
import java.util.Deque;

public class ArrayDequeExample {
    public static void main(String[] args) {
        // 创建一个ArrayDeque对象
        Deque deque = new ArrayDeque<>();

        // 在队列的尾部插入元素
        deque.offerLast(A);
        deque.offerLast(B);
        deque.offerLast(C);

        // 在队列的头部插入元素
        deque.offerFirst(D);
        deque.offerFirst(E);
        deque.offerFirst(F);

        // 输出队列中的元素
        System.out.println(deque);  // 输出:[F E D A B C]

        // 从队列的头部删除元素
        deque.pollFirst();
        deque.pollFirst();

        // 从队列的尾部删除元素
        deque.pollLast();

        // 输出队列中的元素
        System.out.println(deque);  // 输出:[D A B]
    }
}


在上面的示例中,我们首先创建了一个ArrayDeque对象,然后使用`offerLast()`方法在队列的尾部插入元素,使用`offerFirst()`方法在队列的头部插入元素。接着,我们使用`pollFirst()`方法从队列的头部删除元素,使用`pollLast()`方法从队列的尾部删除元素。最后,我们输出队列中的元素。

接下来,我们来看LinkedList的使用示例:

java
import java.util.Deque;
import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        // 创建一个LinkedList对象
        Deque deque = new LinkedList<>();

        // 在队列的尾部插入元素
        deque.offerLast(A);
        deque.offerLast(B);
        deque.offerLast(C);

        // 在队列的头部插入元素
        deque.offerFirst(D);
        deque.offerFirst(E);
        deque.offerFirst(F);

        // 输出队列中的元素
        System.out.println(deque);  // 输出:[F E D A B C]

        // 从队列的头部删除元素
        deque.pollFirst();
        deque.pollFirst();

        // 从队列的尾部删除元素
        deque.pollLast();

        // 输出队列中的元素
        System.out.println(deque);  // 输出:[D A B]
    }
}


在上面的示例中,我们首先创建了一个LinkedList对象,然后使用`offerLast()`方法在队列的尾部插入元素,使用`offerFirst()`方法在队列的头部插入元素。接着,我们使用`pollFirst()`方法从队列的头部删除元素,使用`pollLast()`方法从队列的尾部删除元素。最后,我们输出队列中的元素。

总结来说,双端队列(Deque)是Java集合框架中的一种数据结构,它可以在队列的两端进行插入和删除操作。在Java中,Deque接口有两个实现类:ArrayDeque和LinkedList。我们可以根据实际需求选择合适的实现类来使用双端队列。

其他信息

其他资源

Top