public class IntSummaryStatistics
  Comment     Returned-by     Constructor-argument     Method-argument     Field-type     Type-bound     Links  

A state object for collecting statistics such as count, min, max, sum, and average.

This class is designed to work with (though does not require) streams. For example, you can compute summary statistics on a stream of ints with:

 
 IntSummaryStatistics stats = intStream.collect(IntSummaryStatistics::new,
                                                IntSummaryStatistics::accept,
                                                IntSummaryStatistics::combine);
 

IntSummaryStatistics can be used as a reduction target for a stream. For example:

 
 IntSummaryStatistics stats = people.stream()
                                    .collect(Collectors.summarizingInt(Person::getDependents));
This computes, in a single pass, the count of people, as well as the minimum, maximum, sum, and average of their number of dependents.

implements IntConsumer

Since:  1.8

@implNote This implementation is not thread safe. However, it is safe to use java.util.stream.Collectors.summarizingInt(java.util.function.ToIntFunction) on a parallel stream, because the parallel implementation of Stream.collect() provides the necessary partitioning, isolation, and merging of results for safe and efficient parallel execution.

This implementation does not check for overflow of the sum.