with an `AtomicInteger`, it could provide an index while traversing the stream of java collections.
final int partition = 100; final AtomicInteger counter = new AtomicInteger(); final ForkJoinTask<Integer> task = factorThreads.submit(() -> numbers.stream() .collect(Collectors.groupingBy(it -> counter.getAndIncrement() / partition)) .values() .stream().map(integers -> { log.info("check the list {}", integers); return integers.size(); }).reduce(0, Integer::sum) ); if(task.join() != 1200) log.error("the number is not tally"); else log.error("all 1200 numbers counted");
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.