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

Что будет при итерации по коллекции и удалении значений

При итерации по коллекции (например, `ArrayList`) и удалении элементов через `iterator.remove()` — это безопасно. Но если удалять через `Collection.remove()` во время итерации, выбросится `ConcurrentModificationException`. **Пример:** ```java List list = new ArrayList<>(List.of("a", "b", "c")); Iterator it = list.iterator(); while (it.hasNext()) { String elem = it.next(); if (elem.equals("b")) { it.remove(); // OK } } // list = [a, c] ``` **Ошибка:** ```java for (String s : list) { if (s.equals("b")) { list.remove(s); // ConcurrentModificationException! } } ``` Для `ConcurrentHashMap` и других потокобезопасных коллекций удаление во время итерации безопасно.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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