Sobes.tech
Junior — Middle

Da li je metoda forEach u Javi tačka završetka ili međustepena u obradi tokova?

sobes.tech АИ

Одговор од АИ

U Javi, metoda forEach za tokove (Stream.forEach) je terminalna (završna) operacija, što znači da je to tačka završetka obrade toka. Nakon poziva forEach, tok se smatra potrošenim i dalje operacije nad njim nisu moguće.

Primer:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // međupotoperacija
      .forEach(System.out::println);  // terminalna operacija

Ovde je filter međupotoperacija, a forEach terminalna, koja pokreće izvršenje celog lanca i prikazuje elemente.