私はJavaでストリームを使用するのが初めてです。ここで私の質問です。 私は要素の合計を実行したいdouble [] []を持っています。そのためには、C#Linqに似ていますが、それに続いてaproachがありますが、動作していないようです。2D配列ストリームをJavaで減らす
Arrays.stream(myArray).reduce(0,(acc, i) -> acc + Arrays.stream(i).sum());
誤差はaccがdouble []と思われるので、double [] + doubleを実行できません。 C#Linqでは、アキュムレータはシードと同じ型(この場合は0)であるとみなされます。私は何が足りないのですか? ありがとうございます。
多く、私は今、それを理解しました。 – BoRDeX
flatMapは最もクリーンな方法です。 –
私が好む 'Arrays.stream(MyArrayという).flatMapToDouble(配列::ストリーム).SUM();'これは、可変引数のユースケースはないからです。そして、 'Arrays :: stream'は' DoubleStream :: of'よりも短くなります... – Holger