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

クラスLongSummaryStatistics

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は、streamreductionターゲットとして使用できます。 次に例を示します。

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

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

この実装は、カウントのオーバーフローや合計をチェックしません。

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

    コンストラクタ
    コンストラクタ 説明
    LongSummaryStatistics()
    ゼロ・カウント、ゼロ・サム、Long.MAX_VALUE min、Long.MIN_VALUE max、ゼロ平均を持つ空のインスタンスを構築します。
    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()
    デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。

    クラス 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 min、Long.MIN_VALUE max、ゼロ平均を持つ空のインスタンスを構築します。
    • 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
      戻り値:
      このオブジェクトの文字列表現