HashMap<K, V> es una colección de Java y forma parte del paquete java.util . Proporciona la implementación básica de la interfaz Map de Java. Almacena los datos en forma de pares Clave, Valor, donde las claves deben ser únicas pero no hay restricción para los valores. Si intentamos insertar la clave duplicada, reemplazará el elemento de la clave correspondiente.
Clasificación de HashMap por valores
La idea es almacenar el conjunto de entradas en una lista y luego ordenar la lista según los valores usando el método Collections.sort() con la ayuda de Comparator . Luego obtenga el valor para cada clave de la lista y luego muestre el resultado.
Ejemplo
Java
// Java program to sort Hashmap based on values import java.lang.*; import java.util.*; public class GFG { // function to sort hashmap based on values public static HashMap<String, Integer> sortByValue(HashMap<String, Integer> hm) { // Creating a list from elements of HashMap List<Map.Entry<String, Integer> > list = new LinkedList<Map.Entry<String, Integer> >( hm.entrySet()); // Sorting the list using Collections.sort() method // using Comparator Collections.sort( list, new Comparator<Map.Entry<String, Integer> >() { public int compare( Map.Entry<String, Integer> object1, Map.Entry<String, Integer> object2) { return (object1.getValue()) .compareTo(object2.getValue()); } }); // putting the data from sorted list back to hashmap HashMap<String, Integer> result = new LinkedHashMap<String, Integer>(); for (Map.Entry<String, Integer> me : list) { result.put(me.getKey(), me.getValue()); } // returning the sorted HashMap return result; } // Driver Code public static void main(String[] args) { // creating object of HashMap class HashMap<String, Integer> hashmap = new HashMap<String, Integer>(); // inserting key-value pair into hashmap hashmap.put("five", 5); hashmap.put("seven", 7); hashmap.put("three", 3); hashmap.put("nine", 9); hashmap.put("zero", 0); hashmap.put("eight", 8); // sorting the HashMap based on values Map<String, Integer> map = sortByValue(hashmap); // print the sorted hashmap(based on values) for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + ", Value : " + entry.getValue()); } } }
Key : zero, Value : 0 Key : three, Value : 3 Key : five, Value : 5 Key : seven, Value : 7 Key : eight, Value : 8 Key : nine, Value : 9
Clasificación de HashMap por claves
La idea es poner todos los datos de HashMap en una ArrayList . Luego, extraer todas las claves de HashMap en una ArrayList. A continuación, ordene las claves extraídas con el método Collections.sort() y, a continuación, extraiga su valor para cada clave con el método get() . Finalmente, el mapa se ordena según sus claves.
Ejemplo
Java
// Java Code to sort Map by key value import java.util.*; class GFG { // This map stores unsorted values static HashMap<Integer, String> m = new HashMap<>(); // Function to sort map by Key public static void sortMapByKey() { ArrayList<Integer> sortKeys = new ArrayList<Integer>(m.keySet()); Collections.sort(sortKeys); // Getting value for each key and displaying // results. for (Integer x : sortKeys) System.out.println("Key = " + x + ", Value = " + m.get(x)); } // Driver Code public static void main(String args[]) { // putting values in the Map m.put(7, "seven"); m.put(5, "five"); m.put(1, "one"); m.put(3, "three"); m.put(9, "nine"); // Calling the function to sortMapByKey to // perform sorting based on keys sortMapByKey(); } }
Key = 1, Value = one Key = 3, Value = three Key = 5, Value = five Key = 7, Value = seven Key = 9, Value = nine
Publicación traducida automáticamente
Artículo escrito por Gunjanpaul y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA