// List usage
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");

// Iterate
for (String name : names) {
    System.out.println(name);
}

// Access by index
String first = names.get(0);

// Set usage
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Duplicate ignored

// Check membership
boolean contains = numbers.contains(2);

// Map usage
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

// Get value
Integer age = ages.get("Alice");

// Iterate map
for (Map.Entry<String, Integer> entry : ages.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

// Queue usage
Queue<String> queue = new LinkedList<>();
queue.offer("First");
queue.offer("Second");

String next = queue.poll(); // "First"

// Sorted collections
TreeSet<Integer> sorted = new TreeSet<>();
sorted.add(3);
sorted.add(1);
sorted.add(2);
// Automatically sorted: [1, 2, 3]

// Collections utility methods
List<Integer> list = Arrays.asList(3, 1, 2);
Collections.sort(list);
Collections.reverse(list);
int max = Collections.max(list);