• Collections:
o A Collection is a single entity that stores multiple elements as a single unit.
o Examples: List of students, set of employee IDs, map of country & capital.
• Framework:
o A Framework is a set of classes and interfaces that provide
a consistent and reliable way to perform data handling operations.
o Examples: Java I/O Framework, Java Concurrency Framework (Multithreading),
Java Stream API (Java 8 onwards), JDBC API (Java Database Connectivity) etc.
• Definition: The Collections Framework is a unified architecture for representing and
manipulating collections.
• It provides:
o Interfaces – e.g., List, Set, Queue, Map etc.
o Implemented Classes – e.g., ArrayList, HashSet, HashMap etc.
o Algorithms – e.g., sorting, searching, and shuffling provided by the Collections class.
• Its main goal is to make data manipulation in Java easy, efficient, and standardized.
Hierarchy of Collections Framework
• The Collections Framework in Java contains two main interfaces:
1. Collection – Represents a group of objects, like List, Set, or Queue.
2. Map – Represents a collection of key-value pairs.
Note: Map does not extend Collection.
• Below is the hierarchy of the Collections Framework in Java:
• Tip: Some classes like Vector, Stack, Hashtable, Properties, and Dictionary are
considered legacy classes but are still part of the framework for backward compatibility.
• The two main packages present in Collections Framework are:-
1. [Link] package
2. [Link] package
Uses of Collections Framework
1. Storing Data:
o Use ArrayList or LinkedList to store lists of students, products, or items.
2. Processing Queues:
o Use Queue or Deque for tasks like managing print jobs or task scheduling.
3. Managing Unique Data:
o Use HashSet or TreeSet to store unique elements like employee IDs.
4. Key-Value Mapping:
o Use HashMap or TreeMap to store data in key-value pairs like country-capital
mapping.
5. Sorting and Searching:
o Collections classes provide built-in methods for sorting, searching, and shuffling
data easily.
Advantages of Collections Framework
1. Reusability:
o You can use predefined classes like ArrayList, HashMap, etc., without writing
code from scratch.
2. Efficiency:
o Collections classes are optimized for storing, retrieving, and manipulating data
quickly.
3. Consistency:
o Provides a standard way to work with data structures, so code is easier to read and
maintain.
4. Flexibility:
o Supports different types of collections like List, Set, Map for various needs.
5. Thread-Safety (optional):
o Some collections like Vector and Hashtable are synchronized and safe for
multithreaded use.