Sobes.tech
Senior
72

¿Cómo eliminar un elemento de la lista durante la iteración?

Empresas donde se preguntó
СБЕРСБЕР

Respuesta de la IA

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(), будет выброшено исключение.