Sobes.tech
Junior — Middle

Ինչպես իրականացնել ֆունկցիայի կանչը հավաքածուի ներսում գտնվող տարրերի համար, որը չի թույլատրում փոփոխություններ?

sobes.tech AI

Պատասխան 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));

Важно: если функция изменяет состояние элементов (например, если элементы — изменяемые объекты), это возможно, но сама коллекция не изменится (не добавятся и не удалятся элементы).