Удаление элемента внутри 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
