一、结构
LinkedList 基于双向链表,每个节点含前驱/后继指针,无连续内存。
二、特点
- 头尾插入删除 O(1)(有头尾指针);
- 随机访问慢 O(n),要沿链遍历;
- 额外内存开销(每个节点存两个指针)。
三、示例
LinkedList<Integer> ll = new LinkedList<>();
ll.addFirst(1); ll.addLast(2);
ll.getFirst(); ll.removeLast();
它还实现了 Deque,可作栈或队列用。但日常 90% 情况 ArrayList 更合适,LinkedList 只在明确需要频繁两端操作时用。