0 avec une collection, en parallèle --- liste.parallelStream().filter(ee -> ee> 0).forEach(ee -> System.out.print(ee + "  " )); Filtrage des >0 avec une collection, en parallèle avec forEachOrdered --- liste.parallelStream().filter(ee -> ee> 0).forEachOrdered(ee -> System.out.print(ee + "  " ));"> 0 avec une collection, en parallèle --- liste.parallelStream().filter(ee -> ee> 0).forEach(ee -> System.out.print(ee + "  " )); Filtrage des >0 avec une collection, en parallèle avec forEachOrdered --- liste.parallelStream().filter(ee -> ee> 0).forEachOrdered(ee -> System.out.print(ee + "  " ));">

La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Stream, parallelStream, ForEach, ForEachOrdered & Filter

Présentations similaires


Présentation au sujet: "Stream, parallelStream, ForEach, ForEachOrdered & Filter"— Transcription de la présentation:

1

2 Stream, parallelStream, ForEach, ForEachOrdered & Filter
.stream() Permet de créer un flux séquentiel .parallelStream() Permet de créer un flux parallèle .forEach() Itération à l’aide d’une lambda expression .forEachOrdered() Itération ordonnée à l’aide d’une lambda expression .filter() Filtre un flux Exemples: Integer tabObj[] = { 3, 8, 2, -4, 0, 12, 8, -5, 3, -4, 15}; List<Integer> liste = Arrays.asList(tabObj); --- Filtrage des valeurs > 0 avec une collection --- liste.stream().filter(ee -> ee> 0).forEach(ee -> System.out.print(ee + "  " )); --- Filtrage des >0 avec une collection, en parallèle --- liste.parallelStream().filter(ee -> ee> 0).forEach(ee -> System.out.print(ee + "  " )); --- Filtrage des >0 avec une collection, en parallèle avec forEachOrdered --- liste.parallelStream().filter(ee -> ee> 0).forEachOrdered(ee -> System.out.print(ee + "  " ));

3 La méthode Map .map() Fait correspondre à chaque élément d’un flux une valeur (éventuellement d’un autre type) Exemples: .map (ee -> ee * ee) Appliqué à un flux d’entier, cette méthode donnera le carré des éléments .map(pp -> pp.getX()) Appliqué à une flux de classe Point, elle fera correspondre à chaque élément l’abscisse de l’élément .map(xx -> Point(xx, xx)) Appliqué à une flux d’entier, elle fait correspondre à chaque entier un point d’abscisse et d’ordonnées égales à l’élément

4 Autres méthodes .mapToInt() Transforme un flux en flux d’entiers .average() Calcule la moyenne .orElse(0.0) Valeur par défaut à 0 .findFirst() Trouver le premier élément .sorted() Trie par ordre alphabétique .distinct() Supprime les doublons .

5 Autres exemples: .stream() (1) .filter(entry -> entry.getValue().isPresent()) (2) .sorted(Map.Entry.comparingByValue((o1, o2) -> -Integer.compare(o1.getAsInt(), o2.getAsInt()))) (3) .limit(n) (4) .map(Map.Entry::getKey) (5) .collect(Collectors.toList()); (6) 1 – Création du flux 2 – Filtrage des éléments pour lesquels une valeur est présente isPresent() 3 – Trie le flux par comparaison des valeurs entières des objets. 4 – Limite le flux à n éléments 5 – Remplace chacun des éléments par le résultat de l’accesseur getKey() 6 – Transformation du stream en collection

6 Autres exemples: .stream() (1) .filter(Personnage::isSuccessful) (2) .sorted(Comparator.comparingDouble(personnage -> -personnage.averageScore())) (3) .collect(Collectors.toList()); (4) 1 – Création du flux 2 – Filtrage des éléments en fonction de l’accesseur isSuccessfull 3 – Trie les éléments sur base de leur score moyen averageScore() 4 – Transformation du stream en collection .flatMapToInt(student -> eleve.getScoreByCourse().values().stream().mapToInt(Integer::intValue)) (2) .average() (3) .orElse(0.0); (4) 2 – Renvoi le résultat de la transformation Map sous forme de flux 3 – Calcule la moyenne 4 – Alternative en cas d’absence d’élément = 0

7 Autres exemples: .stream() (1) .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) (2) .map(Map.Entry::getKey) (3) .findFirst(); (4) 1 – Création du flux 2 – Trie les flux par ordre décroissant 3 – Remplace chaque élément par le résultat de l’accesseur getKey 4 – Trouve le premier élément


Télécharger ppt "Stream, parallelStream, ForEach, ForEachOrdered & Filter"

Présentations similaires


Annonces Google