Java Collection Framework - Full Code Examples
1. Stack
import java.util.Stack;
public class StackDS {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(10); stack.push(20); stack.push(30);
System.out.println("Top element: " + stack.peek()); // 30
System.out.println("Removed element: " + stack.pop()); // 30
System.out.println("Position of 10: " + stack.search(10)); // 2
System.out.println("Is empty? " + stack.empty());
System.out.println("Size: " + stack.size());
}
}
2. Simple Queue
import java.util.LinkedList;
import java.util.Queue;
public class SimpleQueueDS {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<>();
queue.add("A"); queue.add("B"); queue.offer("C");
System.out.println("Front: " + queue.peek());
System.out.println("Element: " + queue.element());
System.out.println("Polled: " + queue.poll());
System.out.println("Removed: " + queue.remove());
System.out.println("Is empty? " + queue.isEmpty());
System.out.println("Size: " + queue.size());
}
}
3. Circular Queue
import java.util.ArrayDeque;
public class CircularQueueDS {
public static void main(String[] args) {
ArrayDeque<Integer> cq = new ArrayDeque<>();
cq.offer(10); cq.offer(20); cq.offerFirst(5); cq.offerLast(30);
System.out.println("Front: " + cq.getFirst());
System.out.println("Rear: " + cq.getLast());
cq.removeFirst(); cq.removeLast(); cq.poll();
System.out.println("Peek: " + cq.peek());
}
}
4. Priority Queue
import java.util.PriorityQueue;
public class PriorityQueueDS {
public static void main(String[] args) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.add(40); pq.offer(20); pq.offer(10);
System.out.println("Top (smallest): " + pq.peek());
System.out.println("Polled: " + pq.poll());
System.out.println("Contains 20? " + pq.contains(20));
System.out.println("Size: " + pq.size());
}
}
5. LinkedList
import java.util.LinkedList;
import java.util.Iterator;
public class LinkedListDS {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.addFirst("A"); list.addLast("C"); list.add(1, "B");
System.out.println("First: " + list.getFirst());
System.out.println("Last: " + list.getLast());
list.remove("B"); list.removeFirst(); list.removeLast();
list.push("X"); list.pop();
list.add("1"); list.add("2");
Iterator<String> rev = list.descendingIterator();
System.out.print("Backward: ");
while (rev.hasNext()) System.out.print(rev.next() + " ");
}
}
6. ArrayList
import java.util.ArrayList;
public class ArrayListDS {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("A"); arr.add(1, "B"); arr.set(1, "Z");
System.out.println("Element at 0: " + arr.get(0));
arr.remove("Z"); arr.remove(0);
arr.add("C"); arr.add("D"); arr.add("C");
System.out.println("Contains D? " + arr.contains("D"));
System.out.println("First index of C: " + arr.indexOf("C"));
System.out.println("Last index of C: " + arr.lastIndexOf("C"));
arr.clear();
System.out.println("Is empty? " + arr.isEmpty());
System.out.println("Size: " + arr.size());
}
}
7. Collections
import java.util.*;
public class CollectionsUtilDS {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(4, 2, 1, 5, 3));
Collections.sort(list); Collections.reverse(list); Collections.shuffle(list);
System.out.println("Max: " + Collections.max(list));
System.out.println("Min: " + Collections.min(list));
Collections.sort(list);
System.out.println("Index of 3: " + Collections.binarySearch(list, 3));
System.out.println("Freq of 2: " + Collections.frequency(list, 2));
Collections.fill(list, 0);
System.out.println("After fill: " + list);
}
}
8. Recursion
public class RecursionDS {
static int sum(int n) {
if (n == 0) return 0;
return n + sum(n - 1);
}
static int factorial(int n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
public static void main(String[] args) {
System.out.println("Sum of 5: " + sum(5));
System.out.println("Factorial of 5: " + factorial(5));
}
}