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 + " " ));">
Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFélix Lemelin Modifié depuis plus de 5 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.