Junior — Middle
O que acontece se impedir a remoção de elementos da coleção durante a sua iteração?
sobes.tech IA
Resposta da IA
Se durante a iteração de uma coleção em Java tentar remover elementos diretamente dela (por exemplo, através do método da coleção), isso levará a uma ConcurrentModificationException. Isso acontece porque o iterador acompanha as alterações na coleção, e remover fora dos seus métodos viola a integridade da iteração.
A maneira correta de remover elementos durante a iteração é usar o método remove() do próprio iterador:
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (condição) {
iterator.remove(); // remoção segura
}
}
Assim, a remoção não interromperá o funcionamento do iterador e nenhuma exceção será gerada.