[Java] Qu'est-ce que flatMap?
Dans la documentation officielle
Stream flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
Renvoie un flux constitué du contenu de chaque élément de ce flux remplacé par le contenu d'un flux mappé (obtenu en appliquant la fonction de mappage spécifiée à chaque élément).
Stream (Java Platform SE 8 )
en bref
Il est traité selon la procédure suivante
- Recevez des objets dans Stream et convertissez-les en Stream
- Combinez chaque Stream converti en un seul Stream
Exemple
abcde
Est sortie
Arrays.asList("a,b,c", "d,e")
.flatMap(str -> Arrays.stream(str.split(','))
.forEach(str -> System.out.print(str));
- Si `` Stream <List <List > '' est créé à partir d'une double liste, l'argument de la fonction de mappage (str dans l'exemple ci-dessus) sera List, mais il n'est pas nécessaire qu'il s'agisse de List.