Dies ist nicht wirklich möglich, da HashMaps speziell eine ungeordnete Liste sind.
Sie könnten java.util.LinkedHashMap verwenden, die Reihenfolge verwendet, aber was ich denke, dass Sie wirklich wollen, ist TreeMap, die natürliche Reihenfolge der Elemente darin unterstützen wird.
Wenn Sie einen Komparator hinzufügen, der den ältesten Hund ausspuckt, dann sortieren Sie die TreeMap in dieser Reihenfolge für Sie.
Eine TreeMap ist eine Implementierung der Map Schnittstelle, so dass Sie auf die gleiche Weise damit interagieren wie Sie gerade jetzt tun.
Würde eine Instanz Ihrer (nicht groß geschriebenen Variablen) dogsAndDescriptions Map instanziieren. Was Sie als Teil des TreeMap Konstruktor tun kann, ist weiter in einem Comparator, die regieren wird, wie Sie Ihre Hunde als Schlüssel sortiert bekommen, oder Dog-Klasse machen erweitern Vergleichbare und überschreiben die Methode compareTo im Grunde so etwas wie
class Dog implements Comparable<Dog>{
//somecode
@Override
public int compareTo(Dog o) {
return birthday.compareTo(o.birthday);
}
}
So können Sie sehen Sie, dass Hunde auf ihrem Geburtstag vergleichen werden. Ich werde auf eine example here verknüpfen, wie Komparatoren arbeiten, ist eine andere Frage, denke ich. Aber das sind 2 Möglichkeiten, sie zu sortieren.
1) Holen Sie sich Ihre Karte 2) Get Key Set 3) In Liste umwandeln 4) Sortieren nach Alter 5) Verwenden Sie die Tasten aus dieser Liste. –
Verwenden Sie TreeMap, wenn Sie die Schlüssel bestellen möchten. – Eran
@Eran Wahrscheinlich bekommt er es von DB. Nicht sicher. –