Collection And Map Introduction
Java Collections Hierarchy
The Collections framework is better understood with the help of core interfaces. The collections classes implement these interfaces and provide concrete functionalities.
Collection
It extends Iterable interface which adds support for iterating over collection elements using the for-each loop statement.
All other collection interfaces and classes (except Map) either extend or implement this interface. For example, List (indexed, ordered) and Set (sorted) interfaces implement this collection.
List
Some useful classes which implement List
interface are – ArrayList, CopyOnWriteArrayList, LinkedList, Stack and Vector.
Set
Some useful classes which implement Set
interface are – ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, LinkedHashSet and TreeSet.
Map
Some useful classes which implement Map
interface are – ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap, Hashtable, IdentityHashMap, LinkedHashMap, Properties, TreeMap and WeakHashMap.
Stack
The Java Stack interface represents a classical stack data structure, where elements can be pushed to last-in-first-out (LIFO) stack of objects. In Stack we push an element to the top of the stack, and popped off from the top of the stack again later.
Queue
Some useful classes which implement Map
interface are – ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue and SynchronousQueue.
Deque
Some common known classes implementing this interface are ArrayDeque, ConcurrentLinkedDeque, LinkedBlockingDeque and LinkedList.