Collection interface:
- To represent a group of element/objects as a single unit/entity, then programmer should consider Collection
- Collection interface is considered as the root-interface of collection framework hierarchy
- There is no concrete class which implements collection interface
- Collection interface defines various common methods for
- Adding object to collection
- Removing an object from collection
- Checking size of collection
- Provide Iterator to iterate over collection
- Doing bulk operation
- These methods can be used to operate on any collection objects
- Present in java.util package and extends java.lang.Iterable interface
- Adding object to collection
- Removing an object from collection
- Checking size of collection
- Provide Iterator to iterate over collection
- Doing bulk operation
Java Collection Interfaces List
Java Collection Hierarchy

Serializable, Cloneable and RandomAccess
- Every collection classes implements java.lang.Cloneable and java.io Serializable
- ArrayList/Vector in addition to Cloneable/Serializable, implements java.util.RandomAccess for faster access
- Read below points to understand why it implements these marker interfaces
Marker interface | Description |
Random Access | to access any random element/objects with same speed |
Cloneable | to create a duplicate object or to clone an object |
Serializable | to transfer objects across network |
Below listed interfaces extends Collection interface
- List
- Set
- Queue
java.util.List
- ArrayList
- LinkedList
- Vector
- Stack
java.util.Set
- HashSet
- LinkedHashSet
- SortedSet
- NavigableSet
- TreeSet
java.util.Queue
- PriorityQueue
- BlockingQueue
- PriorityBlockingQueue
- LinkedBlockingQueue