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

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

php是最好的语言
php是最好的语言original
2018-07-27 09:22:232063parcourir

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 Listd94943c0b4933ad8cac500132f64757f en Mapb56561a2c0bc639cf0044c0859afb88f

Utiliser l'API JDK Stream :

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));

Utiliser l'API StreamEx :

Map<String, Choice> result = StreamEx.of(choices).toMap(Choice::getName);
  • 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();

Utilisez l'API StreamEx :

IntStreamEx.range(1, 1_000_000).parallel(new ForkJoinPool(2))
           .filter(PrimesPrint::isPrime).toList();
  • 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));

Utiliser l'API StreamEx :

StreamEx.of(persons).distinctBy(Person::getName);
  • 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);

Utilisez l'API StreamEx :

StreamEx.of(objects)
    .select(Client.class)
    .map(Client::getID)
    .forEach(System.out::println);

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!

Déclaration:
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