Ich bin auf der Suche nach der elegantesten Art, DoubleStream
(für die Verwendung von Summe, Durchschnitt usw.) von List<Double>
zu erstellen. Im Moment habe ich einen solchen Code:
Vielleicht könnte jemand einen kürzeren Weg vorschlagen?
Der beste Weg, Statistiken von Stream
zu erhalten, ist die Verwendung der Klassen ...SummaryStatistics
. Für Stream<Double>
ist dies DoubleSummaryStatistics
:
Es wird durch Sammeln des Streams mit der summarizingDouble
Kollektor. Dieser Kollektor benötigt ein ToDoubleFunction
als Argument: Es ist eine Funktion, die das double
zur Analyse zurückgeben soll.
Solche Statistiken können für Integer
, Long
und Double
Werte.
Beachten Sie, dass der allgemeine Fall, in dem ein Collection<Double>
in ein DoubleStream
konvertiert wird, mit dem Code gemacht werden kann, den Sie bereits haben:
Sie können (auch wenn es nicht wesentlich kürzer ist, aber ...):
%Vor%oder
%Vor%aber das letztere ist mehr oder weniger dasselbe wie Ihr Ansatz.
Tags und Links java java-8 collections java-stream