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

Почему нельзя удалять элементы при использовании For Each

При использовании `for-each` (улучшенного цикла `for`) нельзя удалять элементы, потому что он внутренне использует `Iterator`. Удаление элемента напрямую через методы коллекции (например, `List.remove()`) вызывает `ConcurrentModificationException`, так как изменяется структура коллекции во время итерации. **Решение:** Используйте `Iterator` и его метод `remove()`: ```java List list = new ArrayList<>(Arrays.asList("a", "b", "c")); Iterator it = list.iterator(); while (it.hasNext()) { String item = it.next(); if (item.equals("b")) { it.remove(); // Безопасное удаление } } ``` Также можно использовать `removeIf()`: ```java list.removeIf(item -> item.equals("b")); ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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