Collection Big Picture

 

[ Collection ]
|
+-[List] # General reference usage
| # DUPLICATION is allowed.
| # INDEX based.
| # Keep the order
|
|---+-[ArrayList] # implementation usage
| #[Simplest form of collection, probably. if you don't know what type to use, use this one. can have duplicate value. perfect for ADD and GET process. ]
|
|---+-[LinkedList] # implementation usage
| #[like ArrayList but, perfect for frequent ADD and REMOVE process.]
|
+-[Set]
|---+-[TreeSet] # implementation usage
|---+-[HashSet] # implementation usage
|---+-[EnumSet] # implementation usage
|---+-[SortedSet] # reference usage
| #[Interface that provides some functionalities for further classes which are extending from this interface.]
|---+-[NavigableSet] # reference usage
| #[whatever you need from SortedSet is implemented here.]
|
|
|
+-[Queue] # reference usage
|---+-[Dequeue] # double ended queue for keeping the LIFO(stack) or FIFO (queue concept)
|---+-[ArrayDequeue] # implementation usage (#use ADD method instead og push for STACK)
|---+-[LinkedList] # implementation usage --> can be used as Queue but rarely

[Map]
| # Key/Value based HASHCODE() & EQUALS()
| #ORDER is preserved as inserted.
|---+-[HashMap] # implementation usage
|---+-[TreeMap] # implementation usage
|---+-[SortedMap] # reference usage when implementation is TREEMAP with the Comparator
|---+-[NavigableMap] # reference usage when implementation is TREEMAP with the Comparator