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(); }
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!