Stream
から統計情報を取得する最も良い方法は、...SummaryStatistics
クラスを使用することです。 Stream<Double>
ため、これはDoubleSummaryStatistics
ある:
List<Double> doubles = getListOfDoubles();
DoubleSummaryStatistics stats = doubles.stream().collect(Collectors.summarizingDouble(Double::doubleValue));
System.out.println(stats.getAverage());
System.out.println(stats.getSum());
これはsummarizingDouble
コレクタに流れを収集することによって得られます。このコレクタは引数としてToDoubleFunction
をとります。これは、解析するためにdouble
を返さなければならない関数です。
Integer
,Long
およびDouble
の統計値を得ることができます。異なる返すことができ
List<Double> doubles = getListOfDoubles();
DoubleStream stream = doubles.stream().mapToDouble(Double::doubleValue);
私が意味する、私たちはArrays.toStream(...)をオーバーロードしています
DoubleStream
にCollection<Double>
を変換する一般的なケースは、あなたが既に持っているコードで行うことができることに注意してくださいストリームなので、コレクションには何も似ていないのはなぜですか? – Anatrollik「アレイ」にはどこがありますか? – RealSkeptic
@RealSkeptic [配列のjavadoc]( ) 'static DoubleStream \tストリーム(double []配列) を返します。指定された配列をソースとして持つシーケンシャルなDoubleStreamです。 IntStream、LongStreamに似ています PS申し訳ありませんが、フォーマットは – Anatrollik