Вопрос проверяет понимание механизма for-each, итераторов и fail-fast поведения коллекций.
Короткий ответ
При удалении элемента из коллекции внутри for-each обычно выбрасывается ConcurrentModificationException.
Это происходит потому, что for-each использует Iterator под капотом.
Удаление напрямую через коллекцию нарушает ожидаемое состояние итератора.
Итератор обнаруживает несогласованную модификацию.
Такое поведение защищает коллекцию от некорректного обхода.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.