Java Collections Framework (JCF) Guide
1. What is a Collection?
A collection in Java is an object that holds a group of elements (data structures). The Java
Collections Framework (JCF) provides a unified architecture to represent and manipulate
collections efficiently.
Why Use Collection Framework Instead of Arrays?
Feature Arrays Collection Framework
Size Fixed Dynamic/Resizable
Data Type Only same type Any type (Objects + Generics)
Primitives Supports primitives Works only with objects
2. Core Interfaces in JCF
List
• Ordered, allows duplicates.
• Implementations: ArrayList, LinkedList.
Set
• Unordered, no duplicates.
• Implementations: HashSet, LinkedHashSet, TreeSet.
Map
• Key-value pairs.
• Implementations: HashMap, LinkedHashMap, TreeMap.
3. Key Implementations with Examples
ArrayList
Use Case: Fast access + maintains insertion order.
Syntax:
java
ArrayList<Type> list = new ArrayList<Type>();
Code Example:
java
Copy
Download
import [Link].*;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<>();
[Link]("BMW");
[Link]("Audi");
[Link]("Tesla");
[Link]("First car: " + [Link](0)); // Output: First car: BMW
[Link](1, "Mercedes");
[Link]("BMW");
[Link]("Updated List: " + cars); // Output: [Mercedes, Tesla]
Key Methods:
• add() – Inserts an element.
• get(index) – Retrieves by position.
• set(index, value) – Updates an element.
• remove() – Deletes an element.
LinkedList
Use Case: Frequent insertions/deletions at head/tail.
Code Example:
java
import [Link].*;
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
[Link](1);
[Link](2);
[Link](3);
[Link](0);
[Link](4);
[Link](2);
[Link](list); // Output: [0, 1, 3, 4]
Key Features:
• Exclusive methods: addFirst(), addLast().
Set Implementations
Type Order Duplicates Nulls
HashSet Random 1 null
LinkedHashSet Insertion Order 1 null
TreeSet Sorted Natural
Example (TreeSet):
java
TreeSet<Integer> nums = new TreeSet<>();
[Link](5);
[Link](1);
[Link](3);
[Link](nums); // Output: [1, 3, 5]
Map Implementations
Type Order Keys Sorted Null Keys
HashMap Random 1 null
LinkedHashMap Insertion Order 1 null
TreeMap Sorted Natural
Example (HashMap):
java
Map<Integer, String> map = new HashMap<>();
[Link](1, "One");
[Link](2, "Two");
[Link](1, "Duplicate"); // Overwrites key=1
[Link](map); // Output: {1=Duplicate, 2=Two}
4. Summary Table
Collection Duplicates Ordered Sorted Nulls
ArrayList Insertion Order
LinkedList Insertion Order
HashSet Random 1 null
LinkedHashSet Insertion Order 1 null
TreeSet Sorted Natural
HashMap (keys) Random 1 null key
LinkedHashMap (keys) Insertion Order 1 null key
TreeMap (keys) Sorted Natural null keys