Ich habe eine Liste, die ich brauche, um es zuerst zu sortieren und dann in eine Karte mit seiner ID vs Name Karte zu konvertieren. Hier ist der Code, der die Arbeit erledigt, aber ---Konvertieren einer Sammlung in Map durch Sortieren mit Java 8 Streams
Map<Long, String> map = new LinkedHashMap<>();
list.stream().sorted(Comparator.comparing(Building::getName)).forEach(b-> map.put(b.getId(), b.getName()));
ich denke, das den Job tun, aber ich frage mich, ob ich vermeiden kann verknüpfte Hashzuordnung hier erstellen und wie Phantasie funktionale Programmierung erledigen die Arbeit in einem Linie?
Außerdem Wenn Sie 'collect' verwenden, sollten Sie darauf achten, dass' sorted (...) .forEach (...) 'falsch ist (obwohl es manchmal funktioniert). Was du wirklich meinst ist 'sortierte (...) .forEachOrdered (...)' ... – Holger