Chapter 15. Java Collections Framework
The Java Collections Framework is designed to support numerous collections in a hierarchical fashion. It is essentially made up of interfaces, implementations, and algorithms.
The Collection Interface
Collections are objects that group multiple elements and store, retrieve, and manipulate those elements. The Collection interface is at the root of the collection hierarchy. Subinterfaces of Collection include List, Queue, and Set. Table 15-1 shows these interfaces and whether they are ordered or allow duplicates. The Map interface is also included in the table, as it is part of the framework.
| Interface | Ordered | Dupes | Notes |
| Yes | Yes | Positional access; element insertion control |
| Can be | No (Keys) | Unique keys; one value mapping max per key |
| Yes | Yes | Holds elements; usually FIFO |
| Can be | No | Uniqueness matters |
Implementations
Table 15-2 lists commonly used collection type implementations, their interfaces, and whether or not they are ordered, sorted, and/or contain duplicates.
| Implementations | Interface | Ordered | Sorted | Dupes | Notes |
|
| Index | No | Yes | Fast resizable array |
|
| Index | No | Yes | Doubly linked list |
|
| Index | No | Yes | Legacy, synchronized |
|
| No | No | No | Key/value pairs |
|
| No | No | No | Legacy, synchronized |
|
| Insertion, last access | No | No | Linked list/hash table |
|
| Balanced | Yes | No | Red-black tree map |
|
| Priority | Yes | Yes | Heap implementation |
|
| No | No | No | Fast access ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access