Heim >Java >javaLernprogramm >Wie sortiere ich eine HashMap mit ArrayList-Werten 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!