Maison > Java > javaDidacticiel > Comment trier un HashMap avec des valeurs ArrayList en Java ?

Comment trier un HashMap avec des valeurs ArrayList en Java ?

DDD
Libérer: 2024-11-28 00:26:11
original
144 Les gens l'ont consulté

How to Sort a HashMap with ArrayList Values in Java?

Comment trier un HashMap en Java

Le HashMap fourni est un mappage entre les clés et les ArrayLists. Pour trier cette structure, nous avons deux options : utiliser un TreeMap ou écrire du code personnalisé pour trier par valeurs ArrayList.

Option 1 : Utiliser un TreeMap

Si besoin car une interface Map n’est pas indispensable, pensez plutôt à utiliser un TreeMap. Un TreeMap maintient un ordre naturel parmi ses clés, fournissant un accès trié aux paires clé-valeur.

Option 2 : Tri personnalisé par valeurs d'ArrayList

Pour trier le HashMap en fonction de Valeurs ArrayList, vous pouvez utiliser le code suivant :

// 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();
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal