0
Ich habe ein HashMap<Foo, ArrayList<Bar>> map
mit folgenden Struktur:Java: get Liste der Einträge aus Listen in HashMap verschachtelt
|-- a
| |-- a1
| |-- a2
| `-- a3
|
`-- b
|-- b1
|-- b2
`-- b3
wo a
und b
sind Objekte vom Typ Foo
und a1
, a2
usw. Objekte der Geben Sie Bar
ein.
Was ich haben will, ist ein List<Bar>
mit folgenden Struktur:
|-- a1
|-- a2
|-- a3
|-- b1
|-- b2
`-- b3
Im Moment habe ich diesen Code:
ArrayList<Bar> tempList = new ArrayList<>();
map.values().forEach(tempList::addAll);
return tempList;
Aber das fühlt sich ein bisschen ungeschickt und unelegant. Wie erreiche ich das mit der Standard-Java-API, vorzugsweise mit java.util.Stream
(oder Lambda-Ausdrücken)?
Siehe auch http://stackoverflow.com/questions/31056919/concatenate-the-string-values-of-all-maps-in-a-list oder http://stackoverflow.com/questions/ 35682522/convert-mapstring-navigablesmaplong-collectionstring-zu-liststring-usin – Tunaki