Bonsoir TLM,
Je commence à tester le Java 8 , et j'ai les 3 instructions suivantes:
1- C'est quoi la différence entre un reduce avec 2 paramètres et reduce avec 3 paramètres?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 String names = employees.stream().map(e->e.getName()).reduce("", (a,b)->a+" - "+b); Integer ageTotal = persons.stream().reduce(0, (somme,p)->somme+=p.getAge(),(s1,s2)->s1+s2); persons .stream() .reduce((p1, p2) -> p1.age > p2.age ? p1 : p2) .ifPresent(System.out::println);
2- Le troisième argument dans la deuxième instruction ((s1,s2)->s1+s2) sert à faire quoi?
3- D'après mes connaissances, Reduce est une opération terminale, pourquoi alors mettre ifPresent au final dans la troisième instruction?
Merci pour votre aide en avance!
Partager