Gymterview
junior

Приведите пример, когда коллекция выбрасывает UnsupportedOperationException

UnsupportedOperationException выбрасывается при попытке модифицировать коллекцию, которая не поддерживает данную операцию. Чаще всего это неизменяемые или фиксированного размера коллекции.

Пример
// Пустая неизменяемая коллекция
List<Integer> empty = Collections.emptyList();
empty.add(1); // UnsupportedOperationException

// Список фиксированного размера из Arrays.asList()
List<String> fixed = Arrays.asList("a", "b", "c");
fixed.add("d"); // UnsupportedOperationException
fixed.set(0, "x"); // OK — замена элемента разрешена

// Неизменяемая коллекция Java 9+
List<String> immutable = List.of("a", "b");
immutable.add("c"); // UnsupportedOperationException

Важный нюанс: Arrays.asList() возвращает список фиксированного размера (обертку над массивом) — можно заменять элементы (set), но нельзя добавлять/удалять (add/remove). List.of() не допускает никаких модификаций.

На собеседовании: приведите пример с Collections.emptyList() или List.of(). Объясните разницу между Arrays.asList() (фиксированный размер) и List.of() (полностью immutable).