Ich habe kürzlich eine gute Möglichkeit gefunden, eine Karte zu sortieren, die GregorianCalendar als Schlüssel enthält.Java Karte nach Schlüsselerklärung sortieren
Map<GregorianCalendar, String> map = new HashMap<>();
Map<GregorianCalendar, String> sortedMap = map.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
Kann mir jemand helfen, jedes Verfahren in diesem Befehl besonders geht aus der Stream-Funktion aufgerufen zu verstehen?
Dank
Thank you! In der Tat scheint TreeMap die beste Wahl zu sein, solange der Schlüssel Comparable implementiert. –
@GeekJunior 'TreeMap' kann auch verwendet werden, wenn der Schlüssel 'Comparable' nicht implementiert. In diesem Fall können Sie einen' Comparator' an den Konstruktor übergeben und dann die Eingabe 'Map' an' sortedMap.putAll() 'übergeben – Eran