Вступить в клуб →
средняявопросJava Core и многопоточность

Удаление элемента внутри for-each по ArrayList

Код чистит список задач от отменённой позиции:

List<String> tasks = new ArrayList<>(List.of("a", "b", "c", "d"));

for (String t : tasks) {
    if (t.equals("b")) {
        tasks.remove(t);
    }
}

System.out.println(tasks);

Что произойдёт при выполнении?

  • Код не скомпилируется: изменять коллекцию внутри for-each запрещено на уровне компилятора
  • Будет напечатано [a, c, d] — удаление одного элемента безопасно
  • Будет выброшено ConcurrentModificationException
  • Из списка удалятся все элементы, начиная с b

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела