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

Как можно получить 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 для обнаружения конкурентных изменений.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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