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