Senior
Quelles sont les méthodes intermédiaires et terminales dans les flux ?
sobes.tech IA
Réponse de l'IA
Dans l'API Stream de Java, les méthodes sont divisées en intermédiaires et terminales.
-
Méthodes intermédiaires retournent un nouveau stream et permettent de construire une chaîne d'opérations. Elles sont paresseuses, c'est-à-dire qu'elles ne s'exécutent pas immédiatement, mais uniquement lors de l'appel d'une méthode terminale. Exemples :
filter(),map(),sorted(),distinct(). -
Méthodes terminales lancent le traitement du stream et retournent un résultat (pas un stream). Après leur appel, la chaîne se termine. Exemples :
collect(),forEach(),reduce(),count().
Exemple :
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // méthode intermédiaire stream()
.filter(name -> name.length() > 3) // méthode intermédiaire filter()
.count(); // méthode terminal count()
System.out.println(count); // Affiche le nombre de noms de plus de 3 caractères