Java8: Summe der Werte aus bestimmten Feld der Objekte in einer Liste
Angenommen, eine Klasse Obj
class Obj{
int field;
}
und dass Sie eine Liste der Obj
Instanzen, d.h. List<Obj> lst
.
Nun, wie kann ich finden in Java8 mit streams aus der Summe der Werte der int-Felder field
von den Objekten in der Liste lst
unter einem Kriterium filtern (z.B. für ein Objekt o
, das Kriterium ist o.field > 10
)?
InformationsquelleAutor mat_boy | 2014-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun
oder (mit der Methode Referenz)
Oder
int sum = lst.stream().mapToInt(Obj::getField).filter(n -> n > 10).sum();
InformationsquelleAutor Aniket Thakur
Können Sie versuchen,
Wie erklärt hier
InformationsquelleAutor Paweł Ćwik
Versuchen:
InformationsquelleAutor JeanValjean
Können Sie auch
collect
mit einer entsprechenden Summen-Sammler wieSammler#summingInt(ToIntFunction)
Beispielsweise
InformationsquelleAutor Sotirios Delimanolis
In Java 8 für eine
Obj
Person mitfield
und getField () - Methode, die Sie verwenden können:Indicator
überall in der Frage, und alle Antworten sind schon sehr spezifisch. Also, wenn Sie können Bearbeiten Sie Ihre Antwort, um wirklich etwas sinnvolles zu dem Thema bei der hand, ich schlage vor, Sie zu löschen.Namen geändert, um zu helfen Olivier abstrakten denken.
InformationsquelleAutor Zon