Встречается на собеседованиях • сегодня

Как изменить коллекцию во время ее обработки

Изменять коллекцию во время итерации по ней (например, через `for-each` или `Iterator`) нельзя – это вызовет `ConcurrentModificationException`. Вместо этого используйте: 1. **Итератор с поддержкой удаления**: ```java Iterator iterator = list.iterator(); while (iterator.hasNext()) { String item = iterator.next(); if (item.equals("removeMe")) { iterator.remove(); // Безопасное удаление } } ``` 2. **Копирование коллекции** (если нужно добавлять/изменять): ```java new ArrayList<>(list).forEach(item -> { if (item.equals("addMe")) { list.add("newItem"); // Работает, т.к. итерируем по копии } }); ``` 3. **Stream API** (для фильтрации/трансформации): ```java List filtered = list.stream() .filter(item -> !item.equals("removeMe")) .collect(Collectors.toList()); ``` Для `ConcurrentHashMap` и других потокобезопасных коллекций изменения во время итерации допустимы, но поведение может быть недетерминированным.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы