LinkedList能当队列用码
时间: 2024-09-28 11:01:20 浏览: 1
LinkedList 在 Java 中非常适合充当队列(Queue)的数据结构。它支持在队列的两端进行操作:头部添加元素(enqueue)和尾部删除元素(dequeue)。这是因为 LinkedList 的设计允许我们在 O(1) 时间复杂度内完成这两种操作。具体来说:
1. 添加元素(Enqueue):当你需要在队列尾部添加新元素时,可以使用 `addLast()` 方法,它直接将元素添加到链表的末尾。
2. 删除元素(Dequeue):队列头部的元素通常是第一个被访问的,所以从头节点开始删除操作可以使用 `removeFirst()` 或者 `poll()` 方法。如果链表非空,这两个方法的时间复杂度都是 O(1),因为它们只需要更新头节点指针。
以下是简单的示例代码:
```java
import java.util.LinkedList;
public class QueueWithLinkedList {
private LinkedList<Integer> queue = new LinkedList<>();
public void enqueue(int value) {
queue.addLast(value);
}
public int dequeue() {
if (queue.isEmpty()) {
throw new IllegalStateException("Queue is empty");
}
return queue.removeFirst();
}
}
```