The LinkedList class in Java’s Collections Framework is a powerful and flexible implementation of both the List and Deque interfaces. Unlike ArrayList, which is a dynamic array, LinkedList is a doubly-linked list structure. This fundamental difference dictates its performance characteristics and ideal use cases.
What is a Doubly-Linked List?
A LinkedList stores its elements in individual nodes. Each node contains three parts:
- The data (the element itself).
- A pointer to the next node in the sequence.
- A pointer to the previous node in the sequence.
Because it is a doubly-linked list, traversal can happen in both forward and backward directions.
Internal Structure Visualization
HEAD TAIL
↓ ↓
[null|Data1|→] ↔ [←|Data2|→] ↔ [←|Data3|null]