Sobes.tech
Back to questions
Junior — Middle
80

Является ли метод forEach в Java точкой завершения или промежуточным этапом при обработке потоков?

Answer from AI

sobes.tech AI

В Java метод forEach для потоков (Stream.forEach) является терминальной (конечной) операцией, то есть точкой завершения обработки потока. После вызова forEach поток считается потреблённым и дальнейшие операции над ним невозможны.

Пример:

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

Здесь filter — промежуточная операция, а forEach — терминальная, которая запускает выполнение всего конвейера и выводит элементы.