Sobes.tech
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