Sobes.tech
Senior
57

Итерирлөүү учурунда тизмеден элементти кантип алып салуу керек?

Кайсыл жерде компаниялар сурады
СБЕРСБЕР

AIден жооп

sobes.tech AI

Удалять элементы из списка во время итерации по нему напрямую опасно, так как это может привести к ConcurrentModificationException или пропуску элементов. В Java для безопасного удаления элементов во время обхода коллекции используют итератор и его метод remove().

Пример:

List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d"));
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    if (element.equals("b")) {
        iterator.remove(); // безопасное удаление
    }
}

Такой подход гарантирует корректное удаление без ошибок и пропуска элементов. Если использовать цикл for-each и удалять напрямую через list.remove(), будет выброшено исключение.