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

クラスIntSummaryStatistics

java.lang.Object
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