Heim  >  Artikel  >  Java  >  Praktische Zusammenfassung und Hauptanwendung von Java 8 Stream

Praktische Zusammenfassung und Hauptanwendung von Java 8 Stream

php是最好的语言
php是最好的语言Original
2018-07-27 09:22:231972Durchsuche

Zusammenfassung Dieser Artikel untersucht das Implementierungsprinzip von Stream und stellt vor, wie Sie das Open-Source-Framework StreamEx von Java 8 Stream verwenden, um einige häufig gestellte Fragen zu Java 8 Stream auf StackOverflow zu beantworten:

  • Konvertieren Sie Java 8 Listd94943c0b4933ad8cac500132f64757f in Mapb56561a2c0bc639cf0044c0859afb88f

Verwenden Sie die JDK-Stream-API:

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

Verwenden Sie die StreamEx-API:

Map<String, Choice> result = StreamEx.of(choices).toMap(Choice::getName);
  • Benutzerdefinierter Thread-Pool im parallelen Java 8-Stream

JDK-Stream-API verwenden:

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();

StreamEx-API verwenden:

IntStreamEx.range(1, 1_000_000).parallel(new ForkJoinPool(2))
           .filter(PrimesPrint::isPrime).toList();
  • Java 8 Unterscheidung nach Eigenschaft

JDK-Stream-API verwenden:

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));

StreamEx-API verwenden:

StreamEx.of(persons).distinctBy(Person::getName);
  • Ist es möglich? einen Stream in Java 8 umwandeln?

JDK-Stream-API verwenden:

Stream.of(objects)
    .filter(Client.class::isInstance)
    .map(Client.class::cast)
    .map(Client::getID)
    .forEach(System.out::println);

StreamEx-API verwenden:

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

Verwandte Artikel:

Ein einfaches Beispiel für Lambda-Ausdruck und Stream-Klasse in Java

Verwandte Videos:

Praktisches Video-Tutorial für Miaowei Teahouse Javascript

Das obige ist der detaillierte Inhalt vonPraktische Zusammenfassung und Hauptanwendung von Java 8 Stream. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn