Sobes.tech
Senior
56

Comment supprimer un élément de la liste lors de l'itération?

Entreprises à qui on a demandé
СБЕРСБЕР

Réponse de l'IA

sobes.tech IA

Удалять элементы из списка во время итерации по нему напрямую опасно, так как это может привести к 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(), будет выброшено исключение.