LinkedList 基本操作

LinkedList 基于双向链表实现,插入删除快,查询慢。还实现了 Deque 接口,可以作为队列或栈使用。

LinkedList 示例
import java.util.LinkedList;

LinkedList<String> queue = new LinkedList<>();

// 作为队列使用(FIFO)
queue.offer("A");  // 入队
queue.offer("B");
queue.offer("C");

String head = queue.poll();  // 出队(返回A)

// 作为栈使用(LIFO)
LinkedList<String> stack = new LinkedList<>();
stack.push("第一");
stack.push("第二");
String top = stack.pop();  // 弹出"第二"
✅ LinkedList 特点

1. 插入删除快:只需修改指针,O(1)
2. 查询慢:需要从头遍历,O(n)
3. 可以作为队列(FIFO)或栈(LIFO)使用
4. 占用更多内存:需要存储前后指针

课后练习

ArrayList 和 LinkedList 的主要区别是什么?

A ArrayList 可以存储 null,LinkedList 不能
B ArrayList 查询快,LinkedList 插入删除快
C ArrayList 是线程安全的,LinkedList 不是
D ArrayList 只能存储基本类型