Sobes.tech
Junior — Middle
122

Өзгерістерге жол бермейтін коллекция ішіндегі элементтер үшін функция шақыруды қалай жүзеге асыруға болады

AI-дан жауап

sobes.tech AI

Егер Java-дағы жинақтау өзгертілмейтін болса (мысалы, Collections.unmodifiableList немесе List.of-тан алынған өзгермейтін тізім), онда оның элементтерін тікелей өзгертуге болмайды. Алайда, сіз әрбір элементке функция шақыра аласыз, жинақтауды өзгермей.

Ол үшін цикл немесе Stream API қолдануға болады:

Циклмен мысал:

List<String> list = List.of("a", "b", "c"); // өзгермейтін жинақ

for (String item : list) {
    process(item); // әрбір элементке функция шақыру
}

void process(String s) {
    System.out.println(s.toUpperCase());
}

Stream API-мен мысал:

list.forEach(item -> process(item));

Маңызды: егер функция элементтердің жағдайын өзгертсе (мысалы, егер элементтер өзгермелі объектілер болса), бұл мүмкін, бірақ жинақтау өзгермейді (элементтер қосылмайды немесе жойылмайды).