Sobes.tech
Junior — Middle

Pouvez-vous donner des exemples de méthodes terminales dans l'API Stream en Java?

sobes.tech IA

Réponse de l'IA

Les méthodes terminales dans l'API Stream de Java sont des opérations qui terminent le traitement du flux et renvoient un résultat ou un effet secondaire. Elles ne renvoient pas un nouveau Stream, mais, par exemple, calculent une valeur ou collectent des éléments.

Exemples de méthodes terminales :

  • forEach(Consumer<? super T> action) — effectue une action pour chaque élément.
  • collect(Collector<? super T,A,R> collector) — collecte les éléments dans une collection ou un autre conteneur.
  • reduce(BinaryOperator<T> accumulator) — réduit les éléments à une seule valeur.
  • count() — renvoie le nombre d'éléments.
  • anyMatch(Predicate<? super T> predicate) — vérifie si au moins un élément satisfait la condition.
  • allMatch(Predicate<? super T> predicate) — vérifie si tous les éléments satisfont la condition.
  • findFirst() — renvoie le premier élément du flux (s'il existe).

Exemple :

List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
                 .filter(s -> s.length() > 1)
                 .count();  // méthode terminale
System.out.println(count);  // 2