Sobes.tech
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