Java Stream flatmap

Dans ce tutoriel nous allons découvrir comment utiliser la méthode Stream.flatmap() lorsque nous travaillons avec les Streams en Java.
 
La méthode Stream flatMap() qui est utilisée pour aplatir un flux de collections en un flux d’éléments combinés de toutes les collections.

L’opération flatMap() a pour effet d’appliquer une transformation un-à-plusieurs aux éléments du flux, puis d’aplatir les éléments résultants en un nouveau flux.
 
 
Fonctionnement de flatMap():

{ {1,2}, {3,4}, {5,6} } -> flatMap() -> {1,2,3,4,5,6}

{ {'a','b'}, {'c','d'}, {'e','f'} } -> flatMap() -> {'a','b','c','d','e','f'}

 

Exemple: Convertir une liste de listes en une seule liste
import java.util.*; 
import java.util.stream.*; 
  
public class Main {
    public static void main(String[] args) 
    {
        List<Integer> l1 = Arrays.asList(1,1,1);
        List<Integer> l2 = Arrays.asList(2,2,2);
        List<Integer> l3 = Arrays.asList(3,3,3);
          
        List<List<Integer>> liste = Arrays.asList(l1, l2, l3);
         
        List<Integer> res = liste.stream()
                                 .flatMap(x -> x.stream())
                                 .collect(Collectors.toList());
  
        System.out.println(res);
    } 
}

 
Sortie:

[1, 1, 1, 2, 2, 2, 3, 3, 3]
qcm Java 8

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *