The choosing the right collection for a particular programming tasks can make the difference between a simple program and a complex one. Below is an overview of Java Collections and their characteristics.
| Collection | Description | Ordered | Changeable | Allow Duplicates |
| Set | No | Yes | No | |
unmodifiableSet | No | No | No | |
| List | Yes | Yes | Yes | |
ImmutableList | Yes | No | Yes | |
| Map | Associate keys to values | No | Yes | No (keys) |
| ImmutableMap | Associate keys to values | No | No | No (keys) |
| Queue | first-in, first-out | Yes |
For comparison, see Python Collection Comparison.