Junior — Middle
103
Que se passe-t-il si vous supprimez un élément de la collection dans une boucle foreach?
Réponse de l'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(); // безопасное удаление
}
}