// concurrent/IDChecker.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.import java.util.*;import java.util.function.*;import java.util.stream.*;import java.util.concurrent.*;import com.google.common.collect.Sets;public class IDChecker {public static final int SIZE = 100_000;static class MakeObjectsimplements Supplier<List<Integer>> {private Supplier<HasID> gen;MakeObjects(Supplier<HasID> gen) {this.gen = gen;}@Overridepublic List<Integer> get() {returnStream.generate(gen).limit(SIZE).map(HasID::getID).collect(Collectors.toList());}}public static void test(Supplier<HasID> gen) {CompletableFuture<List<Integer>>groupA = CompletableFuture.supplyAsync(new MakeObjects(gen)),groupB = CompletableFuture.supplyAsync(new MakeObjects(gen));groupA.thenAcceptBoth(groupB, (a, b) -> {System.out.println(Sets.intersection(Sets.newHashSet(a),Sets.newHashSet(b)).size());}).join();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。