Встречается на собеседованиях • сегодня
Почему нельзя удалять элементы при использовании 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"));
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы