概要 この記事では、Stream の実装原理を検討し、Java 8 Stream のオープンソース フレームワーク StreamEx を使用して、StackOverflow 上の Java 8 Stream に関するよくある質問に答える方法を紹介します。 JDK Stream API:
Map<String, Choice> result = choices.stream().collect(Collectors.toMap(Choice::getName, Function.identity()));
Map<String, Choice> result = StreamEx.of(choices).toMap(Choice::getName);
Listd94943c0b4933ad8cac500132f64757f
into Mapb56561a2c0bc639cf0044c0859afb88f
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を使用する:
IntStreamEx.range(1, 1_000_000).parallel(new ForkJoinPool(2)) .filter(PrimesPrint::isPrime).toList();
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を使用する:
StreamEx.of(persons).distinctBy(Person::getName);
Stream.of(objects) .filter(Client.class::isInstance) .map(Client.class::cast) .map(Client::getID) .forEach(System.out::println);StreamEx APIを使用する:
StreamEx.of(objects) .select(Client.class) .map(Client::getID) .forEach(System.out::println);
Miaowei Teahouse Javascript 実践ビデオチュートリアル
以上がJava 8 Stream の実践的な概要と原則的な応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。