Senior
Cosa sono i metodi intermedi e terminali negli stream?
sobes.tech AI
Risposta dell'AI
Nell'API Stream di Java, i metodi sono divisi in intermedi e terminali.
-
Metodi intermedi restituiscono un nuovo stream e consentono di costruire una catena di operazioni. Sono pigri, cioè non vengono eseguiti immediatamente, ma solo quando viene chiamato un metodo terminale. Esempi:
filter(),map(),sorted(),distinct(). -
Metodi terminali avviano l'elaborazione dello stream e restituiscono un risultato (non uno stream). Dopo la loro chiamata, la catena si termina. Esempi:
collect(),forEach(),reduce(),count().
Esempio:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // metodo intermedio stream()
.filter(name -> name.length() > 3) // metodo intermedio filter()
.count(); // metodo terminal count()
System.out.println(count); // Stampa il numero di nomi con più di 3 caratteri