Sobes.tech
Junior — Middle

Являва ли се методът forEach в Java крайна точка или междинен етап при обработката на потоци?

sobes.tech AI

Отговор от AI

В Java методът forEach за потоци (Stream.forEach) е терминална (крайна) операция, то есть точката на завършване на обработката на потока. След извикването на forEach, потокът се счита за изразходван и не е възможно да се извършват допълнителни операции върху него.

Пример:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // междинна операция
      .forEach(System.out::println);  // терминална операция

Тук filter е междинна операция, а forEach е терминална, която стартира изпълнението на цялата верига и извежда елементите.