java queue deque
时间: 2024-01-19 15:18:28 浏览: 68
Java中的Queue和Deque是两种不同的数据结构。
1. Queue(单向队列)是一种FIFO(先进先出)的数据结构,它继承自Collection接口。Queue有一个直接子类PriorityQueue,它是一个基于优先级的队列,元素按照优先级进行排序。Queue的常用方法包括add()、offer()、remove()、poll()、element()和peek()等。
2. Deque(双向队列)是一种支持在两端添加或移除元素的数据结构,它继承自Queue接口。Deque有两个直接子类:LinkedList和ArrayDeque。LinkedList是基于链表实现的双向队列,而ArrayDeque是基于数组实现的双向队列。Deque的常用方法包括addFirst()、addLast()、offerFirst()、offerLast()、removeFirst()、removeLast()、pollFirst()、pollLast()、getFirst()、getLast()、peekFirst()和peekLast()等。
以下是Java中使用Queue和Deque的示例代码:
```java
import java.util.Queue;
import java.util.LinkedList;
import java.util.ArrayDeque;
public class QueueDequeExample {
public static void main(String[] args) {
// 使用Queue
Queue<String> queue = new LinkedList<>();
queue.add("apple");
queue.add("banana");
queue.add("orange");
System.out.println("Queue: " + queue);
System.out.println("First element: " + queue.peek());
System.out.println("Removed element: " + queue.poll());
System.out.println("Queue after removal: " + queue);
// 使用Deque
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addLast(2);
deque.addLast(3);
System.out.println("Deque: " + deque);
System.out.println("First element: " + deque.getFirst());
System.out.println("Last element: " + deque.getLast());
System.out.println("Removed first element: " + deque.removeFirst());
System.out.println("Deque after removal: " + deque);
}
}
```
阅读全文