Senior
Mi az intermediáris és terminális módszerek a stream-ekben?
sobes.tech MI
Válasz az MI-től
A Java Stream API-ban a metódusokat közbenső (intermediate) és végső (terminal) típusokra osztják.
-
Közbenső metódusok új stream-et adnak vissza, és lehetővé teszik az operációk láncolását. Lassan működnek, vagyis nem hajtódnak végre azonnal, csak akkor, amikor egy végső metódus hívásra kerül. Példák:
filter(),map(),sorted(),distinct(). -
Végső metódusok elindítják a stream feldolgozását, és eredményt adnak vissza (nem stream-et). Hívásuk után a láncolás befejeződik. Példák:
collect(),forEach(),reduce(),count().
Példa:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // közbenső metódus stream()
.filter(name -> name.length() > 3) // közbenső metódus filter()
.count(); // végső metódus count()
System.out.println(count); // Kiírja a 3 karakternél hosszabb nevek számát