arraylist实现队列
时间: 2024-10-25 19:06:57 浏览: 8
ArrayList 可以通过 Java 的 Deque 接口(双端队列)来实现队列的功能。Deque 提供了从两端添加和删除元素的能力,非常适合于队列这样的先进先出(FIFO)数据结构。
以下是如何使用 ArrayList 实现一个简单的队列:
```java
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
public class ArrayListBasedQueue {
private Deque<Object> deque = new LinkedList<>();
// 添加元素到队尾(后进)
public void enqueue(Object item) {
deque.addLast(item);
}
// 从队头移除并返回元素(先进)
public Object dequeue() {
if (deque.isEmpty()) {
throw new IllegalStateException("Queue is empty");
}
return deque.removeFirst();
}
// 检查队列是否为空
public boolean isEmpty() {
return deque.isEmpty();
}
// 返回队列的大小
public int size() {
return deque.size();
}
}
```
在这个实现中,`enqueue` 方法用于添加元素到队列尾部,而 `dequeue` 方法则用于移除并返回队列头部的元素。需要注意的是,在尝试移除元素前要检查队列是否为空,以避免空指针异常。
阅读全文