Heim >Java >javaLernprogramm >Wie sortiere ich eine HashMap mit ArrayList-Werten in Java?

Wie sortiere ich eine HashMap mit ArrayList-Werten in Java?

DDD
DDDOriginal
2024-11-28 00:26:11124Durchsuche

How to Sort a HashMap with ArrayList Values in Java?

So sortieren Sie eine HashMap in Java

Die bereitgestellte HashMap ist eine Zuordnung zwischen Schlüsseln und ArrayLists. Um diese Struktur zu sortieren, haben wir zwei Möglichkeiten: Verwenden einer TreeMap oder Schreiben von benutzerdefiniertem Code zum Sortieren nach ArrayList-Werten.

Option 1: Verwenden einer TreeMap

Bei Bedarf Da eine Map-Schnittstelle nicht unbedingt erforderlich ist, sollten Sie stattdessen die Verwendung einer TreeMap in Betracht ziehen. Eine TreeMap behält die natürliche Reihenfolge ihrer Schlüssel bei und bietet sortierten Zugriff auf Schlüssel-Wert-Paare.

Option 2: Benutzerdefinierte Sortierung nach ArrayList-Werten

Zum Sortieren der HashMap basierend auf Für ArrayList-Werte können Sie den folgenden Code verwenden:

// HashMap to be sorted
Map<String, ArrayList<Integer>> unsortedMap = new HashMap<>();

// Create a list to store the sorted values
List<Integer> sortedValues = new ArrayList<>();

// Iterate over the HashMap values and extract the ArrayLists
for (Map.Entry<String, ArrayList<Integer>> entry : unsortedMap.entrySet()) {
    sortedValues.addAll(entry.getValue());
}

// Sort the values in ascending order
Collections.sort(sortedValues);

// Create a new HashMap with the sorted values
Map<String, ArrayList<Integer>> sortedMap = new HashMap<>();
for (Map.Entry<String, ArrayList<Integer>> entry : unsortedMap.entrySet()) {
    sortedMap.put(entry.getKey(), new ArrayList<>( // Sorted list
        sortedValues.subList(0, entry.getValue().size())));
    sortedValues.subList(0, entry.getValue().size()).clear();
}

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine HashMap mit ArrayList-Werten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn