Sobes.tech
Junior — Middle
107

Агар дар дохили давраи foreach унсурро аз коллексия хориҷ кунед, чӣ мешавад?

Ҷавоб аз AI

sobes.tech AI

Если попытаться удалить элемент из коллекции внутри цикла 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(); // безопасное удаление
    }
}