java.lang.Object
java.util.LongSummaryStatistics
- 所有已实现的接口:
IntConsumer,LongConsumer
用于收集计数、最小值、最大值、总和和平均值等统计信息的状态对象。
此类旨在与(尽管不需要) streams 一起使用。例如,您可以使用以下方法计算多头流的汇总统计信息:
LongSummaryStatistics stats = longStream.collect(LongSummaryStatistics::new,
LongSummaryStatistics::accept,
LongSummaryStatistics::combine);
LongSummaryStatistics 可用作 stream 的 减少 目标。例如:
LongSummaryStatistics stats = people.stream()
.collect(Collectors.summarizingLong(Person::getAge));
这一次计算出人数,以及他们年龄的最小值、最大值、总和和平均值。
- 实现注意事项:
-
此实现不是线程安全的。但是,在并行流上使用
Collectors.summarizingLong()是安全的,因为Stream.collect()的并行实现为安全高效的并行执行提供了必要的分区、隔离和结果合并。此实现不检查计数或总和的溢出。
- 自从:
- 1.8
-
构造方法总结
构造方法构造方法描述构造一个具有零计数、零和、Long.MAX_VALUEmin、Long.MIN_VALUEmax 和零平均值的空实例。LongSummaryStatistics(long count, long min, long max, long sum) 构造具有指定count、min、max和sum的非空实例。 -
方法总结
修饰符和类型方法描述voidaccept(int value) 将新的int值记录到摘要信息中。voidaccept(long value) 将新的long值记录到摘要信息中。voidcombine(LongSummaryStatistics other) 将另一个LongSummaryStatistics的状态组合到这个中。final double返回记录值的算术平均值,如果没有记录值则返回零。final longgetCount()返回记录值的计数。final longgetMax()返回记录的最大值,如果没有记录值则返回Long.MIN_VALUEfinal longgetMin()返回记录的最小值,如果没有记录任何值,则返回Long.MAX_VALUE。final longgetSum()返回记录值的总和,如果没有记录值则返回零。toString()返回此对象适合调试的非空字符串表示形式。在类 java.lang.Object 中声明的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait在接口 java.util.function.IntConsumer 中声明的方法
andThen在接口 java.util.function.LongConsumer 中声明的方法
andThen
-
构造方法详细信息
-
LongSummaryStatistics
public LongSummaryStatistics()构造一个具有零计数、零和、Long.MAX_VALUEmin、Long.MIN_VALUEmax 和零平均值的空实例。 -
LongSummaryStatistics
public LongSummaryStatistics(long count, long min, long max, long sum) throws IllegalArgumentException 构造具有指定count、min、max和sum的非空实例。如果
count为零,则忽略其余参数并构造一个空实例。如果参数不一致,则抛出
IllegalArgumentException。必要的一致参数条件是:count >= 0min <= max
- API 注意:
-
参数正确性的强制执行意味着从
LongSummaryStatistics源实例中获取的记录值集可能不是该构造函数的合法参数集,这是由于源记录值计数的算术溢出。一致的参数条件不足以防止创建内部不一致的实例。这种状态的一个例子是一个实例:count= 2、min= 1、max= 2 和sum= 0。 - 参数:
count- 值的计数min- 最小值max- 最大值sum- 所有值的总和- 抛出:
IllegalArgumentException- 如果参数不一致- 自从:
- 10
-
-
方法详情
-
accept
public void accept(int value) 将新的int值记录到摘要信息中。- 指定者:
accept在接口IntConsumer中- 参数:
value- 输入值
-
accept
public void accept(long value) 将新的long值记录到摘要信息中。- 指定者:
accept在接口LongConsumer中- 参数:
value- 输入值
-
combine
将另一个LongSummaryStatistics的状态组合到这个中。- 参数:
other- 另一个LongSummaryStatistics- 抛出:
NullPointerException- 如果other为空
-
getCount
public final long getCount()返回记录值的计数。- 返回:
- 值的计数
-
getSum
public final long getSum()返回记录值的总和,如果没有记录值则返回零。- 返回:
- 值的总和,如果没有则为零
-
getMin
public final long getMin()返回记录的最小值,如果没有记录任何值,则返回Long.MAX_VALUE。- 返回:
-
最小值,如果没有则为
Long.MAX_VALUE
-
getMax
public final long getMax()返回记录的最大值,如果没有记录值则返回Long.MIN_VALUE- 返回:
-
最大值,如果没有则为
Long.MIN_VALUE
-
getAverage
public final double getAverage()返回记录值的算术平均值,如果没有记录值则返回零。- 返回:
- 值的算术平均值,如果没有则为零
-
toString
返回此对象适合调试的非空字符串表示形式。确切的表示格式未指定,并且可能因实现和版本而异。
-