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

Praktische Zusammenfassung und Hauptanwendung von Java 8 Stream

php是最好的语言
Freigeben: 2018-07-27 09:22:23
Original
2035 Leute haben es durchsucht

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 List<V> in Map<K, V>

Verwenden Sie die JDK-Stream-API:

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

Verwenden Sie die StreamEx-API:

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

StreamEx-API verwenden:

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

StreamEx-API verwenden:

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

StreamEx-API verwenden:

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage