Java 8 streams: Iteration über Anzeigen von Listen

Habe ich das folgende Objekt und einer Karte:

MyObject
    String name;
    Long priority;
    foo bar;

Map<String, List<MyObject>> anotherHashMap;

Will ich wandeln die Karte in eine andere Karte. Die Schlüssel des Ergebnis-Karte ist der Schlüssel der input-Karte. Der Wert der result-map tritt die Eigenschaft "name" des Objekts, nach Priorität geordnet.

Den Bestellung und Extraktion der name ist nicht das problem, aber ich konnte nicht put it in das Ergebnis anzeigen. Ich mache es das alte Java 7 Weg, aber es wäre schön, es ist möglich, die Verwendung der streaming-API.

Map<String, List<String>> result = new HashMap<>();
for (String identifier : anotherHashMap.keySet()) {
    List<String> generatedList = anotherHashMap.get(identifier).stream()...;

    teaserPerPage.put(identifier, generatedList);
}

Hat jemand eine Idee? Ich habe versucht, aber steckengeblieben:

anotherHashMap.entrySet().stream().collect(Collectors.asMap(..., ...));
  • Die Absicht ist nicht klar. Könnten Sie erklären, was Sie tun wollen?
  • Ist diese Erklärung besser?
  • Was ist Ihr resultierenden Karten Werte eigentlich sein? Eine Liste der einzelnen name aus dem vorherigen Schlüssel?
InformationsquelleAutor waXve | 2014-12-12
Schreibe einen Kommentar