モジュール java.base
パッケージ 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は、ストリームリダクション・ターゲットとして使用できます。 たとえば:

     
     LongSummaryStatistics stats = people.stream()
                                         .collect(Collectors.summarizingLong(Person::getAge));
    
    これは、単一パスで、人数、および年齢の最小、最大、合計および平均を計算します。

    実装上のノート:
    この実装はスレッドに対して安全ではありません。 ただし、Stream.collect()のパラレル実装によって、安全で効率的なパラレル実行に必要なパーティション化、分離および結果のマージが提供されるため、パラレル・ストリームでCollectors.summarizingLong()を使用することは安全です。

    この実装では、合計のオーバーフローをチェックしません。

    導入されたバージョン:
    1.8
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      LongSummaryStatistics()
      ゼロカウント、ゼロ合計、Long.MAX_VALUE最小、Long.MIN_VALUE最大およびゼロ平均の空のインスタンスを構築します。
      LongSummaryStatistics​(long count, long min, long max, long sum)
      指定されたcountminmaxおよびsumを使用して、空でないインスタンスを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void accept​(int value)
      新しいint値をサマリー情報に記録します。
      void accept​(long value)
      新しいlong値をサマリー情報に記録します。
      void combine​(LongSummaryStatistics other)
      別のLongSummaryStatisticsの状態をこれに結合します。
      double getAverage()
      記録された値の算術平均を返します。値が記録されていない場合は0を返します。
      long getCount()
      記録された値のカウントを返します。
      long getMax()
      記録された最大値を返します。値が記録されていない場合はLong.MIN_VALUEを返します。
      long getMin()
      記録された最小値を返します。値が記録されていない場合はLong.MAX_VALUEを返します。
      long getSum()
      記録された値の合計を返します。値が記録されていない場合は0を返します。
      String toString()
      デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。
    • コンストラクタの詳細

      • LongSummaryStatistics

        public LongSummaryStatistics()
        ゼロカウント、ゼロ合計、Long.MAX_VALUE最小、Long.MIN_VALUE最大およびゼロ平均の空のインスタンスを構築します。
      • LongSummaryStatistics

        public LongSummaryStatistics​(long count,
                                     long min,
                                     long max,
                                     long sum)
                              throws IllegalArgumentException
        指定されたcountminmaxおよびsumを使用して、空でないインスタンスを構築します。

        countがゼロの場合、残りの引数は無視され、空のインスタンスが作成されます。

        引数に一貫性がない場合は、IllegalArgumentExceptionがスローされます。 必要な一貫性のある引数条件は次のとおりです。

        • count >= 0
        • min <= 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

        public void combine​(LongSummaryStatistics other)
        別のLongSummaryStatisticsの状態をこれに結合します。
        パラメータ:
        other - 別のLongSummaryStatistics
        例外:
        NullPointerException - otherがnullである場合
      • getCount

        public final long getCount()
        記録された値のカウントを返します。
        戻り値:
        値の数
      • getSum

        public final long getSum()
        記録された値の合計を返します。値が記録されていない場合は0を返します。
        戻り値:
        値の合計。値がない場合はゼロ
      • 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()
        記録された値の算術平均を返します。値が記録されていない場合は0を返します。
        戻り値:
        値の算術平均、ない場合はゼロ
      • toString

        public String toString()
        デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。 正確な表示フォーマットは未指定であり、実装とバージョンの間で異なることがあります。
        オーバーライド:
        toString、クラスObject
        戻り値:
        このオブジェクトの文字列表現