Junior — Middle
108
Bir koleksiyon üzerinde gezinirken öğelerin silinmesini engellersen ne olur?
AI'dan gelen yanıt
sobes.tech yapay zeka
Если во время перебора коллекции в Java попытаться удалить элементы напрямую из неё (например, через метод коллекции), это приведёт к ConcurrentModificationException. Это происходит потому, что итератор отслеживает изменения коллекции, и удаление вне его методов нарушает целостность итерации.
Правильный способ удаления элементов во время перебора — использовать метод remove() самого итератора:
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (условие) {
iterator.remove(); // безопасное удаление
}
}
Таким образом, удаление не нарушит работу итератора и исключения не возникнет.