Die StreamEx-Bibliothek scheint mir wirklich dabei zu helfen, Java 8-Streams präzise zu schreiben, besonders wenn man Maps betrachtet (zB mapKeyValue
, anstatt die Map-Einträge manuell zu entpacken).
Wenn ich einen Stream von Einträgen in einer Map habe, kann ich in Vanille Java 8 die Werte auf diese Weise summieren:
%Vor%Ich kann dies auch in StreamEx tun, aber ich habe erwartet, dass es in StreamEx einen besseren Weg dafür gibt, aber das Beste, was ich mir vorstellen kann, ist:
%Vor%was nicht besser ist.
Gibt es einen besseren Weg, den ich vermisse?
Da Sie nur an den Werten von Map
interessiert sind, können Sie einfach Folgendes haben:
unter Verwendung der Stream-API selbst Dies erzeugt ein Stream<Double>
direkt aus den Werten der Map, bildet dieses auf das Grundelement DoubleStream
ab und gibt die Summe zurück.
Mit Stream können Sie das vereinfachen:
%Vor% mit DoubleStreamEx.of
nehmen Sie direkt ein Collection<Double>
.
Wenn Sie bereits eine EntryStream
haben, werden Sie dies nicht tun etwas einfacher haben als:
Tags und Links java java-8 java-stream streamex