Встречается на собеседованиях • сегодня
Как можно получить ConcurrentModificationException
ConcurrentModificationException возникает при изменении коллекции во время итерации по ней, кроме как через методы самого итератора.
**Пример:**
```java
List list = new ArrayList<>(Arrays.asList("a", "b", "c"));
for (String s : list) {
list.remove(s); // Выбросит ConcurrentModificationException
}
```
**Как избежать:**
1. Использовать `Iterator.remove()`:
```java
Iterator it = list.iterator();
while (it.hasNext()) {
it.next();
it.remove(); // Корректное удаление
}
```
2. Использовать `CopyOnWriteArrayList` или синхронизированные коллекции.
3. Создать копию коллекции для итерации.
Причина: fail-fast механизм в коллекциях Java для обнаружения конкурентных изменений.

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