Sobes.tech
Junior — Middle

Je metóda forEach v Jave koncovým bodom alebo medziestupňom pri spracovaní tokov?

sobes.tech AI

Odpoveď od AI

V Jave je metóda forEach pre tokov (Stream.forEach) terminálna (koncová) operácia, teda bod ukončenia spracovania toku. Po volaní forEach sa tok považuje za spotrebovaný a ďalšie operácie s ním nie sú možné.

Príklad:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // medzistupňová operácia
      .forEach(System.out::println);  // terminálna operácia

Tu je filter medzistupňová operácia a forEach je terminálna, ktorá spúšťa vykonanie celého reťazca a vypisuje prvky.