Junior — Middle
117
O que acontece se remover um elemento da coleção dentro de um ciclo foreach?
Resposta da IA
sobes.tech IA
Если попытаться удалить элемент из коллекции внутри цикла foreach (enhanced for loop) в Java, то возникнет исключение ConcurrentModificationException. Это происходит потому, что foreach использует внутренний итератор, который отслеживает изменения коллекции, и удаление напрямую нарушает его состояние.
Чтобы безопасно удалять элементы во время обхода, нужно использовать явный итератор и его метод remove():
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("b")) {
iterator.remove(); // безопасное удаление
}
}