Java Collections Framework (List, Set, Queue & Deque)
Learn when to choose ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue, and ArrayDeque for optimal time complexity.
Collection Interface Hierarchy
### Java Collection Hierarchy
- **List**: Ordered sequence allowing duplicates (`ArrayList` - dynamic array, `LinkedList` - doubly-linked list).
- **Set**: Collection of unique elements (`HashSet` - hashtable $O(1)$, `TreeSet` - red-black tree $O(\log N)$).
- **Queue/Deque**: Double-ended queues for FIFO/LIFO processing (`ArrayDeque`, `PriorityQueue`).