public class IntSummaryStatistics extends Object implements IntConsumer
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.
Implementation Note:
This implementation is not thread safe. However, it is safe to use
Collectors.summarizingInt() 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.
| Constructor and Description |
|---|
IntSummaryStatistics()
Construct an empty instance with zero count, zero sum,
Integer.MAX_VALUE min, Integer.MIN_VALUE max and zero
average. |
| Modifier and Type | Method and Description |
|---|---|
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. |
double |
getAverage()
Returns the arithmetic mean of values recorded, or zero if no values have been
recorded.
|
long |
getCount()
Returns the count of values recorded.
|
int |
getMax()
Returns the maximum value recorded, or
Integer.MIN_VALUE if no
values have been recorded. |
int |
getMin()
Returns the minimum value recorded, or
Integer.MAX_VALUE if no
values have been recorded. |
long |
getSum()
Returns the sum of values recorded, or zero if no values have been
recorded.
|
String |
toString()
Returns a non-empty string representation of this object suitable for
debugging.
|
public IntSummaryStatistics()
Integer.MAX_VALUE min, Integer.MIN_VALUE max and zero
average.public void accept(int value)
accept in interface IntConsumervalue - the input valuepublic void combine(IntSummaryStatistics other)
IntSummaryStatistics into this one.other - another IntSummaryStatisticsNullPointerException - if other is nullpublic final long getCount()
public final long getSum()
public final int getMin()
Integer.MAX_VALUE if no
values have been recorded.Integer.MAX_VALUE if nonepublic final int getMax()
Integer.MIN_VALUE if no
values have been recorded.Integer.MIN_VALUE if nonepublic final double getAverage()
Copyright © 2016. All rights reserved.