Sobes.tech
Senior

Kas yra tarpiniai ir galutiniai metodai srautuose?

sobes.tech AI

Atsakymas iš AI

Java Stream API metodai skirstomi į tarpinio (intermediate) ir galutinio (terminal) tipo.

  • Tarpiniai metodai grąžina naują srautą (stream) ir leidžia kurti operacijų grandinę. Jie yra tingūs, tai yra, neįvykdomi iš karto, o tik tada, kai iškviečiama galutinė metodas. Pavyzdžiai: filter(), map(), sorted(), distinct().

  • Galutiniai metodai pradeda srauto apdorojimą ir grąžina rezultatą (ne srautą). Po jų iškvietimo grandinė baigiasi. Pavyzdžiai: collect(), forEach(), reduce(), count().

Pavyzdys:

List<String> names = List.of("Anna", "Bob", "Charlie", "David");

long count = names.stream()  // tarpinio metodo stream()
    .filter(name -> name.length() > 3)  // tarpinio metodo filter()
    .count();  // galutinio metodo count()

System.out.println(count);  // Išveda vardų, ilgesnių nei 3 simboliai, skaičių