Set - no duplicates, not ordered (no indexes) HashSet - fast, no ordering guarantees TreeSet - slow, sorted LinkedHashSet - fast, insertion-ordered List - duplicates, ordered (indexes), get, set, indexof, lastindexof, iteration, sublist ArrayList - resizable-array LinkedList - stack (LIFO), queue (FIFO), double-ended-queue (get, remove and insert an element at the beginning and end of the list) Map - no duplicates, keys to values (key => value) HashMap - fast, no ordering guarantees TreeMap - slow, sorted LinkedHashMap - fast, insertion-ordered