用Java语言编写一个队列,并实现入队、出队等操作
时间: 2024-12-19 20:15:40 浏览: 10
在Java中,我们可以使用内置的`java.util.Queue`接口来创建一个队列,这个接口提供了一种先进先出(FIFO,First In First Out)的数据结构。这里我们使用`ArrayDeque`实现,它是一个基于数组的双端队列,支持快速的插入和删除操作。
首先,你需要导入必要的库:
```java
import java.util.*;
```
然后,可以定义一个简单的队列类,比如`MyQueue`:
```java
public class MyQueue<T> implements Queue<T> {
private ArrayDeque<T> deque;
public MyQueue() {
deque = new ArrayDeque<>();
}
// 入队(enqueue)
@Override
public boolean offer(T item) {
return deque.offer(item);
}
// 出队(dequeue)
@Override
public T poll() {
if (deque.isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
return deque.poll();
}
// 查看队首元素但不移除(peek)
@Override
public T peek() {
if (deque.isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
return deque.peek();
}
// 判断队列是否为空
@Override
public boolean isEmpty() {
return deque.isEmpty();
}
// 获取队列大小
@Override
public int size() {
return deque.size();
}
}
```
在这个类中,我们实现了`Queue`接口的基本方法,包括添加元素(offer)、移除元素(poll)以及查看队首元素(peek)。队列为空时,`poll()`和`peek()`会抛出异常。
阅读全文