Sobes.tech
Senior

Ce sunt metodele intermediare și terminale în fluxuri?

sobes.tech AI

Răspuns de la AI

În API-ul Stream din Java, metodele sunt împărțite în intermediare și terminale.

  • Metodele intermediare returnează un nou stream și permit construirea unui lanț de operații. Sunt leneșe, adică nu se execută imediat, ci doar atunci când se apelează o metodă terminală. Exemple: filter(), map(), sorted(), distinct().

  • Metodele terminale pornesc procesarea stream-ului și returnează un rezultat (nu un stream). După apelarea lor, lanțul se încheie. Exemple: collect(), forEach(), reduce(), count().

Exemplu:

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

long count = names.stream()  // metodă intermediară stream()
    .filter(name -> name.length() > 3)  // metodă intermediară filter()
    .count();  // metodă terminală count()

System.out.println(count);  // Afișează numărul de nume mai lungi de 3 caractere