What is a Collections Framework?
A collections framework is a unified architecture for representing and manipulating collections.All collections frameworks contain the following:
- Interfaces: These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In object-oriented languages, interfaces generally form a hierarchy.
- Implementations: These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures.
Benefits of the Java Collections Framework
The Java Collections Framework provides the following benefits:
- Reduces programming effort by providing data structures and algorithms so you don’t have to write them yourself.
- Increases performance by providing high-performance implementations of data structures and algorithms. Because the various implementations of each interface are interchangeable, programs can be tuned by switching implementations.
- Provides interoperability between unrelated APIs by establishing a common language to pass collections back and forth.
- Reduces the effort required to learn APIs by requiring you to learn multiple ad hoc collection APIs.
- Reduces the effort required to design and implement APIs by not requiring you to produce ad hoc collections APIs.
- Fosters software reuse by providing a standard interface for collections and algorithms with which to manipulate them.
Hierarchy of Collection Framework

Collection Interfaces
The collection interfaces are divided into two groups. The most basic interface, java.util.Collection, has the following descendants:
- java.util.Collection
- java.util.List
- java.util.Set
- java.util.SortedSet
- java.util.NavigableSet
- java.util.Queue
- java.util.concurrent.BlockingQueue
- java.util.concurrent.TransferQueue
- java.util.Deque
- java.util.concurrent.BlockingDeque
Interfaces
- Collections Framework – The Collection Interface
- Collections Framework – The Set Interface
- Collections Framework – The SortedSet Interface
- Collections Framework – The List Interface
- Collections Framework – The Queue Interface
- Collections Framework – The Deque Interface
- Collections Framework – The Map Interface
- Collections Framework – The SortedMap Interface
List Implementations
General-Purpose List Implementations:
Special-Purpose List Implementations:
Set Implementations
General-Purpose Set Implementations:
- Collections Framework – HashSet Class
- Collections Framework – LinkedHashSet Class
- Collections Framework – TreeSet Class
Special-Purpose Set Implementations:
Map Implementations
General-purpose Map Implementations:
- Collections Framework – HashMap Class
- Collections Framework – LinkedHashMap Class
- Collections Framework – TreeMap class