Sobes.tech
Junior — Middle
107

Тізімді қайталау кезінде оның элементтерін жоюға кедергі келтірсеңіз, не болады?

AI-дан жауап

sobes.tech AI

Java-да коллекцияны айналдыру кезінде элементтерді тікелей жою (мысалы, коллекция әдісі арқылы) ConcurrentModificationException қатесін тудырады. Бұл итератор коллекциядағы өзгерістерді бақылап отырады және оның әдістерінен тыс жою айналдырудың тұтастығын бұзады.

Элементтерді айналдыру кезінде дұрыс жою әдісі — итератордың remove() әдісін пайдалану:

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String item = iterator.next();
    if (шарт) {
        iterator.remove(); // қауіпсіз жою
    }
}

Осылайша, жою итератордың жұмысын бұзбайды және қате пайда болмайды.