モジュール java.base
パッケージ java.util

クラスIntSummaryStatistics

  • すべての実装されたインタフェース:
    IntConsumer

    public class IntSummaryStatistics
    extends Object
    implements IntConsumer
    カウント数、最小、最大、合計、平均などの統計情報を収集するための状態オブジェクト。

    このクラスは、streamsを扱う(必須ではないが)ために作られたものです。 たとえば、次を使って、int値のストリームに関するサマリー統計を計算することができます。

     
     IntSummaryStatistics stats = intStream.collect(IntSummaryStatistics::new,
                                                    IntSummaryStatistics::accept,
                                                    IntSummaryStatistics::combine);
     

    IntSummaryStatisticsは、streamリダクション・ターゲットとして使用できます。 次に例を示します。

     
     IntSummaryStatistics stats = people.stream()
                                        .collect(Collectors.summarizingInt(Person::getDependents));
    
    これは、単一パスで、人数だけでなく、その扶養家族の最小値、最大値、合計、および平均値も計算します。

    実装上の注意:
    この実装はスレッドに対して安全ではありません。 ただし、並列ストリームでCollectors.summarizingInt()を使用することは安全です。なぜなら、Stream.collect()の並列実装では、安全で効率的な並列実行のために必要な結果の分割、分離、およびマージが行われるからです。

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

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

      コンストラクタ 
      コンストラクタ 説明
      IntSummaryStatistics()
      ゼロ・カウント、ゼロ・サム、Integer.MAX_VALUE min、Integer.MIN_VALUE max、ゼロ平均を持つ空のインスタンスを構築します。
      IntSummaryStatistics​(long count, int min, int max, long sum)
      指定されたcountminmax、およびsumで空でないインスタンスを構築します。
    • メソッドのサマリー

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

      • IntSummaryStatistics

        public IntSummaryStatistics()
        ゼロ・カウント、ゼロ・サム、Integer.MAX_VALUE min、Integer.MIN_VALUE max、ゼロ平均を持つ空のインスタンスを構築します。
      • IntSummaryStatistics

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

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

        引数が矛盾する場合は、IllegalArgumentExceptionがスローされます。 必要な一貫した議論条件は次のとおりです:

        • count >= 0
        • min <= max

        APIの注:
        引数の正しさの強化とは、IntSummaryStatisticsソース・インスタンスから取得した取得された記録値のセットが、ソース記録された値の算術オーバーフローのためにこのコンストラクタの引数の正当なセットでない可能性があることを意味します。 一貫した引数条件では、内部的に一貫性のないインスタンスの作成を防止するには十分ではありません。 このような状態の例は、: count = 2, min = 1, max = 2,およびsum = 0。
        パラメータ:
        count - 値の数
        min - 最小値
        max - 最大値
        sum - すべての値の合計
        例外:
        IllegalArgumentException - 引数が矛盾する場合
        導入されたバージョン:
        10
    • メソッドの詳細

      • accept

        public void accept​(int value)
        新しい値をサマリー情報に記録します。
        定義:
        accept、インタフェース: IntConsumer
        パラメータ:
        value - 入力値
      • combine

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

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

        public final long getSum()
        記録された値の合計を返します。値が記録されていない場合は0を返します。
        戻り値:
        値の合計。値がない場合はゼロ
      • getMin

        public final int getMin()
        記録された最小値を返します。値が記録されていない場合はInteger.MAX_VALUEを返します。
        戻り値:
        最小値。値がない場合はInteger.MAX_VALUE
      • getMax

        public final int getMax()
        記録された最大値を返します。値が記録されていない場合はInteger.MIN_VALUEを返します。
        戻り値:
        最大値。値がない場合はInteger.MIN_VALUE
      • getAverage

        public final double getAverage()
        記録された値の算術平均を返します。値が記録されていない場合は0を返します。
        戻り値:
        値の算術平均。値がない場合はゼロ
      • toString

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