- 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));- 実装上のノート:
- この実装はスレッドに対して安全ではありません。 ただし、
Stream.collect()のパラレル実装によって、安全で効率的なパラレル実行に必要なパーティション化、分離および結果のマージが提供されるため、パラレル・ストリームでCollectors.summarizingDouble()を使用することは安全です。 - 導入されたバージョン:
- 1.8
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DoubleSummaryStatistics()ゼロカウント、ゼロ合計、Double.POSITIVE_INFINITY最小、Double.NEGATIVE_INFINITY最大およびゼロ平均の空のインスタンスを構築します。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()デバッグに適しているこのオブジェクトの空ではない文字列表現を返します。-
クラスjava.langで宣言されたメソッド。オブジェクト
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
インタフェースjava.util.functionで宣言されたメソッド。DoubleConsumer
andThen
-
-
-
-
コンストラクタの詳細
-
DoubleSummaryStatistics
public DoubleSummaryStatistics()
ゼロカウント、ゼロ合計、Double.POSITIVE_INFINITY最小、Double.NEGATIVE_INFINITY最大およびゼロ平均の空のインスタンスを構築します。
-
DoubleSummaryStatistics
public 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
-
-
メソッドの詳細
-
accept
public void accept(double value)
別の値をサマリー情報に記録します。- 定義:
accept、インタフェースDoubleConsumer- パラメータ:
value- 入力値
-
combine
public void combine(DoubleSummaryStatistics other)
もう一方のDoubleSummaryStatisticsの状態をこれに統合します。- パラメータ:
other- もう一方のDoubleSummaryStatistics- 例外:
NullPointerException-otherがnullである場合
-
getCount
public final long getCount()
記録された値のカウントを返します。- 戻り値:
- 値の数
-
getSum
public final double getSum()
記録された値の合計を返します。値が記録されていない場合は0を返します。浮動小数点合計の値は、入力値と加算操作順序の両方の関数になります。 このメソッドの加算操作の順序は意図的に未定義になっていますが、それは、実装が計算結果の速度や精度を柔軟に改善できるようにするためです。 特に、このメソッドを補正加算などのテクニックを使って実装すれば、
double値の単純な合計に比べ、数値合計の誤り限界を減らせます。 操作の順序が未指定であり、異なる合計スキームを使用する可能性があるため、このメソッドの出力は同じ入力値で異なる場合があります。様々な条件によって、無限合計が計算される場合があります。 これは、合計される記録されたすべての値が有限であっても発生する可能性があります。 記録された値が無限である場合、合計は無限になります。
- 記録された値がNaNの場合、最終合計はNaNになります。
- 記録された値に1つ以上の無限が含まれる場合、合計は無限またはNaNになります。
- 記録された値に逆符号の無限が含まれる場合、合計はNaNになります。
- 記録された値に1つの符号の無限が含まれ、中間合計が反対符号の無限大にオーバーフローした場合、合計はNaNになります。
- APIのノート:
- 値を大きさの絶対値の昇順にソートすると、結果の精度が改善される傾向があります。
- 戻り値:
- 値の合計。値がない場合はゼロ
-
getMin
public final double getMin()
記録された最小値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.POSITIVE_INFINITYを返します。 数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。- 戻り値:
- 記録された最小値。記録された値のいずれかがNaNだった場合は
Double.NaN。値が記録されなかった場合はDouble.POSITIVE_INFINITY
-
getMax
public final double getMax()
記録された最大値を返します。記録された値がNaNだった場合はDouble.NaNを返し、値が記録されなかった場合はDouble.NEGATIVE_INFINITYを返します。 数値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。- 戻り値:
- 記録された最大値。記録された値のいずれかがNaNだった場合は
Double.NaN。値が記録されなかった場合はDouble.NEGATIVE_INFINITY
-
getAverage
public final double getAverage()
記録された値の算術平均を返します。値が記録されていない場合は0を返します。計算された平均は数値的に変化し、合計を計算する際の特殊なケース動作になります。詳細は、
getSum()を参照してください。- APIのノート:
- 値を大きさの絶対値の昇順にソートすると、結果の精度が改善される傾向があります。
- 戻り値:
- 値の算術平均。値がない場合はゼロ
-
-