java.lang.Object
java.util.DoubleSummaryStatistics
- すべての実装されたインタフェース:
- DoubleConsumer
public class DoubleSummaryStatistics extends Object implements DoubleConsumer
カウント数、最小、最大、合計、平均などの統計情報を収集するための状態オブジェクト。
 
このクラスは、streamsを扱う(必須ではないが)ために作られたものです。 たとえば、次を使って、doubleのストリームに関するサマリー統計を計算することができます。
 
 DoubleSummaryStatistics stats = doubleStream.collect(DoubleSummaryStatistics::new,
                                                      DoubleSummaryStatistics::accept,
                                                      DoubleSummaryStatistics::combine);
 
 DoubleSummaryStatisticsは、streamのリダクション・ターゲットとして使用できます。 次に例を示します。 
 
 
 DoubleSummaryStatistics stats = people.stream()
     .collect(Collectors.summarizingDouble(Person::getWeight));
 これは、単一パスで、人数だけでなく、その体重の最小値、最大値、合計、および平均値も計算します。- 実装上のノート:
- この実装はスレッドに対して安全ではありません。 ただし、並列ストリームでCollectors.summarizingDouble()を使用することは安全です。なぜなら、Stream.collect()の並列実装では、安全で効率的な並列実行のために必要な結果の分割、分離、およびマージが行われるからです。この実装は、カウントのオーバーフローをチェックしません。 
- 導入されたバージョン:
- 1.8
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 DoubleSummaryStatistics()ゼロ・カウント、ゼロ・サム、Double.POSITIVE_INFINITYmin、Double.NEGATIVE_INFINITYmax、ゼロ平均を持つ空のインスタンスを構築します。DoubleSummaryStatistics(long count, double min, double max, double sum)指定されたcount、min、max、およびsumで空でないインスタンスを構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidaccept(double value)別の値をサマリー情報に記録します。voidcombine(DoubleSummaryStatistics other)もう一方のDoubleSummaryStatisticsの状態をこれに統合します。doublegetAverage()記録された値の算術平均を返します。値が記録されていない場合は0を返します。longgetCount()記録された値のカウントを返します。doublegetMax()記録された最大値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.NEGATIVE_INFINITYを返します。doublegetMin()記録された最小値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.POSITIVE_INFINITYを返します。doublegetSum()記録された値の合計を返します。値が記録されていない場合は0を返します。StringtoString()デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。
- 
コンストラクタの詳細- 
DoubleSummaryStatisticspublic DoubleSummaryStatistics()ゼロ・カウント、ゼロ・サム、Double.POSITIVE_INFINITYmin、Double.NEGATIVE_INFINITYmax、ゼロ平均を持つ空のインスタンスを構築します。
- 
DoubleSummaryStatisticspublic DoubleSummaryStatistics(long count, double min, double max, double sum) throws IllegalArgumentException指定されたcount、min、max、およびsumで空でないインスタンスを構築します。countがゼロの場合、残りの引数は無視され、空のインスタンスが構築されます。引数が矛盾する場合は、 IllegalArgumentExceptionがスローされます。 必要な一貫した議論条件は次のとおりです:- count >= 0
- (min <= max && !isNaN(sum)) || (isNaN(min) && isNaN(max) && isNaN(sum))
 - APIのノート:
- 引数の正しさの強化とは、DoubleSummaryStatisticsソース・インスタンスから取得した取得された記録値のセットが、ソース記録された値の算術オーバーフローのためにこのコンストラクタの引数の正当なセットでない可能性があることを意味します。 一貫した引数条件では、内部的に一貫性のないインスタンスの作成を防止するには十分ではありません。 このような状態の例は、:count= 2,min= 1,max= 2,およびsum= 0。
- パラメータ:
- count- 値の数
- min- 最小値
- max- 最大値
- sum- すべての値の合計
- 例外:
- IllegalArgumentException- 引数が矛盾する場合
- 導入されたバージョン:
- 10
 
 
- 
- 
メソッドの詳細- 
acceptpublic void accept(double value)別の値をサマリー情報に記録します。- 定義:
- accept、インタフェース:- DoubleConsumer
- パラメータ:
- value- 入力値
 
- 
combinepublic void combine(DoubleSummaryStatistics other)もう一方のDoubleSummaryStatisticsの状態をこれに統合します。- パラメータ:
- other- もう一方の- DoubleSummaryStatistics
- 例外:
- NullPointerException-- otherがnullである場合
 
- 
getCountpublic final long getCount()記録された値のカウントを返します。- 戻り値:
- 値の数
 
- 
getSumpublic final double getSum()記録された値の合計を返します。値が記録されていない場合は0を返します。浮動小数点合計の値は、入力値と加算操作順序の両方の関数になります。 このメソッドの加算操作の順序は意図的に未定義になっていますが、それは、実装が計算結果の速度や精度を柔軟に改善できるようにするためです。 特に、このメソッドを補正加算などのテクニックを使って実装すれば、 double値の単純な合計に比べ、数値合計の誤り限界を減らせます。 不特定の操作順序と、異なる総和方式を使用する可能性があるため、このメソッドの出力は同じ入力値で変化する可能性があります。さまざまな条件によって、非有限の和が計算される可能性があります。 これは、記録された値の合計が有限であっても発生します。 記録された値が非有限である場合、その合計は非有限である: - 記録された値がNaNの場合、最終的な合計はNaNになります。
- 記録された値に1つ以上の無限が含まれる場合、合計は無限大またはNaNになります。
 - 記録された値に反対の符号の無限大が含まれる場合、合計はNaNになります。
- 記録された値に1つの符号の無限が含まれ、中間の合計が反対符号の無限にオーバーフローする場合、合計はNaNになります。
 
 - APIのノート:
- 値を大きさの絶対値の昇順にソートすると、結果の精度が改善される傾向があります。
- 戻り値:
- 値の合計。値がない場合はゼロ
 
- 
getMinpublic final double getMin()記録された最小値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.POSITIVE_INFINITYを返します。 数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。- 戻り値:
- 記録された最小値。記録された値のいずれかがNaNだった場合はDouble.NaN。値が記録されなかった場合はDouble.POSITIVE_INFINITY
 
- 
getMaxpublic final double getMax()記録された最大値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.NEGATIVE_INFINITYを返します。 数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。- 戻り値:
- 記録された最大値。記録された値のいずれかがNaNだった場合はDouble.NaN。値が記録されなかった場合はDouble.NEGATIVE_INFINITY
 
- 
getAveragepublic final double getAverage()記録された値の算術平均を返します。値が記録されていない場合は0を返します。計算された平均値は数値的に変わることがあり、その和を計算する特殊なケースの振る舞いを持ちます。詳細については、 getSum()を参照してください。- APIのノート:
- 値を大きさの絶対値の昇順にソートすると、結果の精度が改善される傾向があります。
- 戻り値:
- 値の算術平均。値がない場合はゼロ
 
- 
toStringpublic String toString()デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。 正確な表示フォーマットは未指定であり、実装とバージョンの間で異なることがあります。
 
-