Senior
Čo sú to medziľahlé a terminálne metódy v streamoch?
sobes.tech AI
Odpoveď od AI
V Java Stream API sú metódy rozdelené na medzičlánkové (intermediate) a terminálne (terminal).
-
Medzičlánkové metódy vracajú nový stream a umožňujú stavať reťazec operácií. Sú lenivé, teda sa nespúšťajú okamžite, ale až pri volaní terminálnej metódy. Príklady:
filter(),map(),sorted(),distinct(). -
Terminálne metódy spúšťajú spracovanie streamu a vracajú výsledok (nie stream). Po ich volaní reťazec končí. Príklady:
collect(),forEach(),reduce(),count().
Príklad:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // medzičlánková metóda stream()
.filter(name -> name.length() > 3) // medzičlánková metóda filter()
.count(); // terminálna metóda count()
System.out.println(count); // Vypíše počet mien dlhších ako 3 znaky