Maison > Java > javaDidacticiel > Résumé pratique de Java 8 Stream et application principale

Résumé pratique de Java 8 Stream et application principale

php是最好的语言
Libérer: 2018-07-27 09:22:23
original
2035 Les gens l'ont consulté

Résumé Cet article explore le principe d'implémentation de Stream et présente comment utiliser le framework open source StreamEx de Java 8 Stream pour répondre à quelques questions fréquemment posées sur Java 8 Stream sur StackOverflow :

  • Convertir Java 8 List<V> en Map<K, V>

Utiliser l'API JDK Stream :

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));
Copier après la connexion

Utiliser l'API StreamEx :

Map<String, Choice> result = StreamEx.of(choices).toMap(Choice::getName);
Copier après la connexion
  • Pool de threads personnalisé dans le flux parallèle Java 8

Utilisez l'API JDK Stream :

ForkJoinPool forkJoinPool = new ForkJoinPool(2);
forkJoinPool.submit(() ->
    //parallel task here, for example
    IntStream.range(1, 1_000_000).parallel().filter(PrimesPrint::isPrime).collect(toList())
).get();
Copier après la connexion

Utilisez l'API StreamEx :

IntStreamEx.range(1, 1_000_000).parallel(new ForkJoinPool(2))
           .filter(PrimesPrint::isPrime).toList();
Copier après la connexion
  • Java 8 Distinct par propriété

Utiliser l'API JDK Stream :

public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
    Set<Object> seen = ConcurrentHashMap.newKeySet();
    return t -> seen.add(keyExtractor.apply(t));
}

persons.stream().filter(distinctByKey(Person::getName));
Copier après la connexion

Utiliser l'API StreamEx :

StreamEx.of(persons).distinctBy(Person::getName);
Copier après la connexion
  • Est-il possible de diffuser un flux dans Java 8 ?

Utilisez l'API JDK Stream :

Stream.of(objects)
    .filter(Client.class::isInstance)
    .map(Client.class::cast)
    .map(Client::getID)
    .forEach(System.out::println);
Copier après la connexion

Utilisez l'API StreamEx :

StreamEx.of(objects)
    .select(Client.class)
    .map(Client::getID)
    .forEach(System.out::println);
Copier après la connexion

Articles associés :

Exemples simples d'expressions Lambda et de classes Stream en Java

Vidéos associées :

Tutoriel vidéo pratique Javascript de la Maison de Thé Miaowei                                  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal