Java collection framework is a set of classes and interfaces that provides built-in data structures to store and manipulate groups of objects efficiently . This java collection framework is found in java.util package. Java collection framework allows you to manage data efficiently through high performance data structures and polymorphic algorithms like searching and sorting.
Java provides collection interfaces like List, Set , Map , and Queue , with classes such as HashSet , ArrayList , HashMap and PriorityQueue. This collection framework improves productivity by making code more faster , reusable, maintainable to develop .
Key Features of Java Collection Framework :
- Java Collection Framework provides Unified Architecture which provides a standard set of methods across different collections, which makes the API easy to learn and use.
- Java Collection framework offers interfaces such as Collection , List , Set , Map , Queue etc.
- Java Collection Framework provides ready to use data structures( e.g. HashSet , HashMap , ArrayList )
- It supports dynamic resizing ,unlike arrays with fixed sizes , Java Collection Framework can grow and shrink automatically as elements are added or removed.
- High performance is one of the key feature of Java collection framework as it includes highly optimized implementations of fundamental data structures like hash tables , trees and linked lists .
- Java collection framework support Generics. Collection framework uses Java Generics to ensure type safety , which reduce runtime errors like ClassCastException.
- Thread Safety is one of the key feature of Java Collection Framework . It provides both legacy synchronized classes (like Vector) and modern highly concurrent implementations ( like ConcurrentHashMap ) for multi-threaded environments .
Example :
import java.util.*;
public class Gift {
public static void main (String args[] ) {
//Creating a list of String using ArrayList
List<String> list = new ArrayList<>();
//Adding elements to the ArrayList
list.add (“Apple i-phone”);
list.add(“Apple watch”);
list.add(“Apple air pods”);
//Printing the elements of the ArrayList
System.out.println(” Gifts are :”);
for ( String gift : list ) {
System.out.println(gift);
}
}
}
OUTPUT
Gifts are :
Apple i-phone
Apple watch
Apple air pods
- Core Interface :
The foundation of the Collections Framework is built on interfaces like Collection , List , Set , Queue , Deque and Map . These interfaces define the behavior of different collection types and serve as a blueprint for implementations .
Core interfaces of java Collection framework are as follows:
- Collection Interface
- Set Interface
- List Intrerface
- Queue Interface
- Deque Interface
- Map Interface
2. List Implementations :
Lists in Collection Framework represent ordered collections that allow positional access and duplicate elements . List include dynamic arrays , linked structures and legacy classes designed for sequential storage .
- ArrayList
- LinkedList
- Vector
- Stack
- AbstractList
- AbstractSequentialList
3. Set Implementations :
Sets in Java Collection framework represent collections of unique elements , which don’t allow duplicate elements . Sets provide implementations with different ordering strategies like hashing , sorting or insertion order .
- HashSet
- TreeSet
- LinkedHashSet
- EnumSet
- SortedSet Interface
- NavigableSet
- ConcurrentSkipListSet
4. Queue /Deque Implementations:
Queue store elements in a First In First Out (FIFO) manner , whereas Deque allows operations at both ends . Queue/Deque operations are used for buffering, scheduling and producer-consumer applications .
- Priority Queue
- Array Deque
- ConcurrentLinked Queue
- Blocking Queue
- Abstract Queue
5. Map Implementations :
In Java collection framework , Maps store data as a key-value pairs where keys are unique . Different implementations of Map implementation provide hashing , ordering , reference-based and concurrent behaviors .
- HashMap
- LinkedHashMap
- TreeMap
- IdentityHashMap
- WeakHashMap
- Hash Table
6. Concurrency Collections :
In Java Collection framework, Concurrent collections are designed for multi-threaded environments . Concurrent collections ensure thread-safe access without compromising performance .
- ConcurrentHashMap
- ConcurrentLinkedQueue
- CopyOnWriteArrayList
- BlockingQueue
7. Utility and Supporting Classes:
Java provides helper Interfaces and classes to enhance collection usage . These include Collections , Comparator , Iterator and other tools for sorting and iteration.
- Collection class
- ListIterator
- Enumeration
- Iterable Interface
- Comparator
- Comparable
