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()); // 输出CSystem.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过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)