モジュール 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