Java 8 streams - merging eine Liste der Karten

Ich versuche, einen Strom von List<Map<String, Integer>> verschmelzen alle Karten enthalten in einem. Dies ist das zusammenfassen mehrere Anfrage-beantwortungen in einem.

Betrachten Sie dieses dataset (mit JSON machen es leichter zu Lesen):

[
    {"field1": 1, "field2": 5},
    {"field2": 6, "field3": 10},
    {"field1": 3, "field4": 15}
]

Will ich es führen die folgenden (die Reihenfolge nicht egal):

{"field1": 4, "field2": 11, "field3": 10, "field4": 15}

Möchte ich die Summe aller Tasten und kombinieren Sie in einer einzigen Karte. Gibt es einen schönen Weg, dies zu tun mit der Stream-Schnittstelle in Java 8?

Entdeckte ich Collectors.groupingBy(o -> o, Collectors.counting()), also vielleicht bin ich auf dem richtigen Weg, ich muss nur herausfinden, wie tatsächlich zusammenzuführen, Sie im Voraus von dieser, ohne Schrauben auf die Ergebnisse.

Vielen Dank im Voraus.

InformationsquelleAutor whitfin | 2015-07-31
Schreibe einen Kommentar