IntSummaryStatistics

public class IntSummaryStatistics
extends Object implements IntConsumer

java.lang.Object
   ↳ java.util.IntSummaryStatistics


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.

Summary

Public constructors

IntSummaryStatistics()

Construct an empty instance with zero count, zero sum, Integer.MAX_VALUE min, Integer.MIN_VALUE max and zero average.

Public methods

void accept(int value)

Records a new value into the summary information

void combine(IntSummaryStatistics other)

Combines the state of another IntSummaryStatistics into this one.

final double getAverage()

Returns the arithmetic mean of values recorded, or zero if no values have been recorded.

final long getCount()

Returns the count of values recorded.

final int getMax()

Returns the maximum value recorded, or Integer.MIN_VALUE if no values have been recorded.

final int getMin()

Returns the minimum value recorded, or Integer.MAX_VALUE if no values have been recorded.

final long getSum()

Returns the sum of values recorded, or zero if no values have been recorded.

String toString()

Returns a string representation of the object.

Inherited methods

Public constructors

IntSummaryStatistics

added in API level 24
IntSummaryStatistics ()

Construct an empty instance with zero count, zero sum, Integer.MAX_VALUE min, Integer.MIN_VALUE max and zero average.

Public methods

accept

added in API level 24
void accept (int value)

Records a new value into the summary information

Parameters
value int: the input value

combine

added in API level 24
void combine (IntSummaryStatistics other)

Combines the state of another IntSummaryStatistics into this one.

Parameters
other IntSummaryStatistics: another IntSummaryStatistics

Throws
NullPointerException if other is null

getAverage

added in API level 24
double getAverage ()

Returns the arithmetic mean of values recorded, or zero if no values have been recorded.

Returns
double the arithmetic mean of values, or zero if none

getCount

added in API level 24
long getCount ()

Returns the count of values recorded.

Returns
long the count of values

getMax

added in API level 24
int getMax ()

Returns the maximum value recorded, or Integer.MIN_VALUE if no values have been recorded.

Returns
int the maximum value, or Integer.MIN_VALUE if none

getMin

added in API level 24
int getMin ()

Returns the minimum value recorded, or Integer.MAX_VALUE if no values have been recorded.

Returns
int the minimum value, or Integer.MAX_VALUE if none

getSum

added in API level 24
long getSum ()

Returns the sum of values recorded, or zero if no values have been recorded.

Returns
long the sum of values, or zero if none

toString

added in API level 24
String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.