Deque是Java集合框架中的一个双端队列接口。Deque可以在两端插入和删除元素,并且可以作为队列(先进先出)或栈(后进先出)使用。Deque接口继承自Queue接口,并添加了一些额外的方法。

一、Deque的特点:

1. 可以在队列的两端进行插入和删除操作,即头部和尾部。

2. 元素可以是任意类型,包括null。

3. 可以用作队列(先进先出)或栈(后进先出)。

4. Deque接口有多个实现类,如ArrayDeque和LinkedList。

二、Deque的常用方法:

1. addFirst(E e):在队列头部插入元素。

2. addLast(E e):在队列尾部插入元素。

3. offerFirst(E e):在队列头部插入元素,如果队列满则返回false。

4. offerLast(E e):在队列尾部插入元素,如果队列满则返回false。

5. removeFirst():删除并返回队列头部的元素。如果队列为空则抛出异常。

6. removeLast():删除并返回队列尾部的元素。如果队列为空则抛出异常。

7. pollFirst():删除并返回队列头部的元素。如果队列为空则返回null。

8. pollLast():删除并返回队列尾部的元素。如果队列为空则返回null。

9. getFirst():返回队列头部的元素,但不删除。如果队列为空则抛出异常。

10. getLast():返回队列尾部的元素,但不删除。如果队列为空则抛出异常。

11. peekFirst():返回队列头部的元素,但不删除。如果队列为空则返回null。

12. peekLast():返回队列尾部的元素,但不删除。如果队列为空则返回null。

三、示例代码:

import java.util.Deque;
import java.util.ArrayDeque;
public class DequeExample {
    public static void main(String[] args) {
        Deque<String> deque = new ArrayDeque<>();
        // 在队列头部插入元素
        deque.addFirst("A");
        deque.addFirst("B");
        deque.addFirst("C");
        // 在队列尾部插入元素
        deque.addLast("X");
        deque.addLast("Y");
        deque.addLast("Z");
        // 获取队列头部和尾部的元素
        System.out.println(deque.getFirst()); 
        // 输出C
        System.out.println(deque.getLast()); 
        // 输出Z
        // 删除队列头部和尾部的元素
        deque.removeFirst();
        deque.removeLast();
        // 遍历队列
        for (String element : deque) {
            System.out.println(element);
        }
    }
}

输出结果:

Z

A

Y

X

C

B

四、说明:

       上述代码演示了如何使用ArrayDeque实现Deque的功能。首先,在队列头部插入元素A、B、C,然后在队列尾部插入元素X、Y、Z。接着,使用getFirst()和getLast()方法获取队列头部和尾部的元素。然后,使用removeFirst()和removeLast()方法删除队列头部和尾部的元素。最后,使用for循环遍历队列并打印出元素。注意,在遍历过程中,元素的顺序是从头部到尾部。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

02-18 11:14