Java 集合:LinkedList 双向链表

一、结构

LinkedList 基于双向链表,每个节点含前驱/后继指针,无连续内存。

二、特点

  • 头尾插入删除 O(1)(有头尾指针);
  • 随机访问慢 O(n),要沿链遍历;
  • 额外内存开销(每个节点存两个指针)。

三、示例

LinkedList<Integer> ll = new LinkedList<>();
ll.addFirst(1); ll.addLast(2);
ll.getFirst(); ll.removeLast();

它还实现了 Deque,可作栈或队列用。但日常 90% 情况 ArrayList 更合适,LinkedList 只在明确需要频繁两端操作时用。