The Java Collections Framework provides ready-made data structures such as List, Set, and Map. These classes help you store, search, sort, iterate, and manipulate data efficiently.
1. ArrayList
ArrayList is a resizable array. It allows duplicate values, maintains insertion order, and provides fast access by index.
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList cars = new ArrayList<>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Tesla");
System.out.println("Cars: " + cars);
cars.remove(0); // Remove element at index 0
System.out.println("After removal: " + cars);
}
}
2. LinkedList
LinkedList is faster than ArrayList for adding/removing elements frequently. It supports operations like addFirst(), addLast(), removeFirst(), and getFirst().
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList cars = new LinkedList<>();
cars.add("Honda");
cars.add("Toyota");
cars.addFirst("Audi");
cars.addLast("Ford");
System.out.println("Cars: " + cars);
cars.removeFirst();
System.out.println("After removing first: " + cars);
}
}
3. HashMap
HashMap stores data in key–value pairs. Keys must be unique. Values can be duplicated. HashMap does NOT maintain order.
import java.util.HashMap;
public class HashMapDemo {
public static void main(String[] args) {
HashMap capitalCities = new HashMap<>();
capitalCities.put("India", "New Delhi");
capitalCities.put("Japan", "Tokyo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
System.out.println("Capital of Japan: " + capitalCities.get("Japan"));
}
}
4. HashSet
HashSet stores only unique values. It does NOT maintain order and is extremely fast for search operations.
import java.util.HashSet;
public class HashSetDemo {
public static void main(String[] args) {
HashSet names = new HashSet<>();
names.add("Raju");
names.add("Ravi");
names.add("Raju"); // Duplicate - ignored
System.out.println(names);
}
}
5. Iterator
Iterator is used to loop through any collection, especially when you need safe element removal during iteration.
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorDemo {
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}