Mam następujący obiekt i mapę:Java 8 strumienie: iteracyjne nad mapą of Lists
MyObject
String name;
Long priority;
foo bar;
Map<String, List<MyObject>> anotherHashMap;
chcę przekonwertować mapę w innej mapy. Klucz mapy wyników jest kluczem mapy wejściowej. Wartość mapy wyników stanowi właściwość "nazwa" obiektu My, uporządkowana według priorytetu.
Zamówienie zamawianie i wyodrębnianie nazwy nie jest problemem, ale nie mogłem umieścić go na mapie wyników. Robię to starą metodą Java 7, ale byłoby miło, że można korzystać z API do przesyłania strumieniowego.
Map<String, List<String>> result = new HashMap<>();
for (String identifier : anotherHashMap.keySet()) {
List<String> generatedList = anotherHashMap.get(identifier).stream()...;
teaserPerPage.put(identifier, generatedList);
}
Czy ktoś ma pomysł? Próbowałem, ale utknął:
anotherHashMap.entrySet().stream().collect(Collectors.asMap(..., ...));
Zamysł nie jest jasny. Czy możesz wyjaśnić, co chcesz zrobić? –
Czy to wyjaśnienie jest lepsze? – waXve
Jakie są wartości wynikowych map? Lista każdej "nazwy" z poprzedniego klucza? – mkobit