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

Сталкивался ли с ConcurrentModificationException

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

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

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

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