模块  java.base
软件包  java.util

Class LongSummaryStatistics

  • 实现的所有接口
    IntConsumerLongConsumer

    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)
      构造带指定一个非空的情况下 countminmaxsum
    • 构造方法详细信息

      • LongSummaryStatistics

        public LongSummaryStatistics()
        构造一个空实例,零计数,零和, Long.MAX_VALUE分钟, Long.MIN_VALUE最大值和零平均值。
      • LongSummaryStatistics

        public LongSummaryStatistics​(long count,
                                     long min,
                                     long max,
                                     long sum)
                              throws IllegalArgumentException
        构造带指定一个非空的情况下countminmaxsum

        如果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()
        返回记录值的算术平均值,如果没有记录值,则返回零。
        结果
        值的算术平均值,如果没有则为零
      • toString

        public String toString()
        返回适合调试的此对象的非空字符串表示形式。 确切的表示格式未指定,可能在实现和版本之间有所不同。
        重写:
        toString在类 Object
        结果
        对象的字符串表示形式。