Junior — Middle
Wat gebeurt er als het verwijderen van elementen uit de collectie tijdens het doorlopen ervan wordt verhinderd?
sobes.tech AI
Antwoord van AI
Als je tijdens het itereren door een collectie in Java probeert elementen direct te verwijderen (bijvoorbeeld via de methode van de collectie), zal dit leiden tot een ConcurrentModificationException. Dit gebeurt omdat de iterator de wijzigingen in de collectie bijhoudt, en verwijderen buiten zijn methoden de integriteit van de iteratie verstoort.
De juiste manier om elementen te verwijderen tijdens het itereren is door de remove()-methode van de iterator zelf te gebruiken:
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (voorwaarde) {
iterator.remove(); // veilige verwijdering
}
}
Op deze manier wordt de werking van de iterator niet verstoord en treedt er geen uitzondering op.