Sobes.tech
Junior — Middle

Czy metoda forEach w Java jest punktem końcowym czy etapem pośrednim podczas przetwarzania strumieni?

sobes.tech AI

Odpowiedź od AI

W Javie metoda forEach dla strumieni (Stream.forEach) jest operacją końcową, czyli punktem końcowym przetwarzania strumienia. Po wywołaniu forEach strumień jest uważany za zużyty i dalsze operacje na nim są niemożliwe.

Przykład:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // operacja pośrednia
      .forEach(System.out::println);  // operacja końcowa

Tutaj filter jest operacją pośrednią, a forEach operacją końcową, która uruchamia wykonanie całego potoku i wyświetla elementy.