- java.lang.Object
-
- java.util.LongSummaryStatistics
-
- 实现的所有接口
-
IntConsumer
,LongConsumer
public class LongSummaryStatistics extends Object implements LongConsumer, IntConsumer
用于收集统计数据(如计数,最小值,最大值,总和和平均值)的状态对象。此类旨在使用(但不要求) streams 。 例如,您可以使用以下内容计算long流上的摘要统计信息:
LongSummaryStatistics stats = longStream.collect(LongSummaryStatistics::new, LongSummaryStatistics::accept, LongSummaryStatistics::combine);
LongSummaryStatistics
可以作为reduction的目标,用于stream 。 例如:LongSummaryStatistics stats = people.stream() .collect(Collectors.summarizingLong(Person::getAge));
- Implementation Note:
-
此实现不是线程安全的。
但是,在并行流上使用
Collectors.summarizingLong()
是安全的,因为Stream.collect()
的并行实现提供了必要的分区,隔离和合并结果,以实现安全有效的并行执行。此实现不检查总和的溢出。
- 从以下版本开始:
- 1.8
-
-
构造方法摘要
构造方法 构造器 描述 LongSummaryStatistics()
使用零计数,零和,Long.MAX_VALUE
最小值,Long.MIN_VALUE
最大值和零平均值构造一个空实例。LongSummaryStatistics(long count, long min, long max, long sum)
构造带指定一个非空的情况下count
,min
,max
和sum
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
accept(int value)
在摘要信息中记录新的int
值。void
accept(long value)
在摘要信息中记录新的long
值。void
combine(LongSummaryStatistics other)
将另一个LongSummaryStatistics
的状态合并到这个中。double
getAverage()
返回记录值的算术平均值,如果没有记录值,则返回零。long
getCount()
返回记录的值的计数。long
getMax()
返回记录的最大值,如果没有记录值,则返回Long.MIN_VALUE
long
getMin()
返回记录的最小值,如果没有记录值,则返回Long.MAX_VALUE
。long
getSum()
返回记录的值的总和,如果没有记录值,则返回零。String
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_VALUE
分钟,Long.MIN_VALUE
最大值和零平均值。
-
LongSummaryStatistics
public LongSummaryStatistics(long count, long min, long max, long sum) throws IllegalArgumentException
构造带指定一个非空的情况下count
,min
,max
和sum
。如果
count
为零,则忽略其余参数,并构造一个空实例。如果参数不一致,则抛出
IllegalArgumentException
。 必要的一致参数条件是:-
count >= 0
-
min <= max
- API Note:
-
参数正确性的强制执行意味着从
LongSummaryStatistics
源实例获取的检索的记录值集合可能不是此构造函数的合法参数集,因为源记录的值计数会产生算术溢出。 一致的参数条件不足以防止创建内部不一致的实例。 这种状态的示例将是具有以下的实例:count
=min
=max
= 2,以及sum
= 0。 - 参数
-
count
- 值的计数 -
min
- 最小值 -
max
- 最大值 -
sum
- 所有值的总和 - 异常
-
IllegalArgumentException
- 如果参数不一致 - 从以下版本开始:
- 10
-
-
-
方法详细信息
-
accept
public void accept(int value)
在摘要信息中记录新的int
值。- Specified by:
-
accept
在界面IntConsumer
- 参数
-
value
- 输入值
-
accept
public void accept(long value)
在摘要信息中记录新的long
值。- Specified by:
-
accept
在界面LongConsumer
- 参数
-
value
- 输入值
-
combine
public void combine(LongSummaryStatistics other)
将另一个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()
返回记录值的算术平均值,如果没有记录值,则返回零。- 结果
- 值的算术平均值,如果没有则为零
-
-