Below I created two tables comparing the different Java collection types. It is mainly relevant with regards to 1Z0-819.

The first table is about characteristics, the second about implemented interfaces.

  ArrayList LinkedList HashSet TreeSet HashMap TreeMap
resizable
duplicates allowed    
(not keys)

(not keys)
access by index        
auto-sorted        
fixed order        
synchronized            
null allowed
just 1
 
(1 as key, multiple as value)

(only value, not key)
excels at add/remove/ contains stack operations add/remove/ contains find first, last,
range queries,
closest elements
get, put, lookup,
large collections
finding first, next, range queries,
closest element, large collections,
case-insensitive key comparisons

-

  ArrayList LinkedList HashSet TreeSet HashMap TreeMap
Serializable
Clonable
Iterable    
Collection    
List        
RandomAccess          
Deque          
Queue          
Set        
NavigableSet          
SortedSet          
Map<K,V>        
NavigableMap<K,V>          
SortedMap<K,V>          

<
Previous Post
LinkedList and more
>
Next Post
Functional interfaces and lambda expressions