Sobes.tech
Senior

Šta su međumetode i terminalne metode u streamovima?

sobes.tech АИ

Одговор од АИ

U Java Stream API, metode se dele na međumrežne (intermediate) i terminalne (terminal).

  • Međumrežne metode vraćaju novi stream i omogućavaju pravljenje lanca operacija. One su lenje, tj. ne izvršavaju se odmah, već samo kada se pozove terminalna metoda. Primeri: filter(), map(), sorted(), distinct().

  • Terminalne metode pokreću obradu streama i vraćaju rezultat (ne stream). Nakon njihovog poziva, lanac se završava. Primeri: collect(), forEach(), reduce(), count().

Primer:

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

long count = names.stream()  // međumrežna metoda stream()
    .filter(name -> name.length() > 3)  // međumrežna metoda filter()
    .count();  // terminalna metoda count()

System.out.println(count);  // Ispisuje broj imena dužih od 3 karaktera