LinkedHashMap es como HashMap con una característica adicional de mantener un orden de elementos insertados en él. HashMap proporcionó la ventaja de una inserción, búsqueda y eliminación rápidas, pero nunca mantuvo el seguimiento y el orden de inserción que proporciona LinkedHashMap donde se puede acceder a los elementos en su orden de inserción.
Por lo tanto, LinkedHashMap es la clase secundaria de HashMap. Ahora, en LinkedHashMap se debe mantener el orden de inserción, así que convierta LinkedHashMap en una lista y luego imprima la lista en la que los valores están ordenados.
Ilustración:
Entrada: LinkedHashMap = {{“for”, 2}, {“Geek”, 3}, {“Geeks”, 1}}
Producción:
Clave -> Geeks: valor -> 1
Clave -> para: valor -> 2
Clave -> Geek: valor ->3
Procedimiento:
- Cree un objeto de LinkedHashMap Class donde el objeto se declara de tipo Integer y String.
- Agregue elementos al objeto anterior creado del mapa usando el método put(). Los elementos aquí son pares clave-valor.
- Recupere todas las entradas del mapa y conviértalas en una lista usando el método entrySet() .
- Ordene el valor de la lista usando el comparador personalizado.
- Ahora use el método de clasificación de la clase Colecciones dentro del cual estamos usando un comparador personalizado para comparar el valor de un mapa.
- Imprima el objeto de la lista anterior usando para cada bucle.
Implementación:
Ejemplo
Java
// java Program to Sort LinkedHashMap by Values // Importing all classes // from java.util package import java.util.*; import java.util.Collections; import java.util.Comparator; import java.util.LinkedHashMap; // Main Class class GFG { // Main driver method public static void main(String[] args) { // Creating an object of LinkedHashMap Class // Declaring object of Integer and String type LinkedHashMap<String, Integer> map = new LinkedHashMap<>(); // Adding elements to the object of Map // using the put() method // Elements here are key-value pairs map.put("for", 2); map.put("Geek", 3); map.put("Geeks", 1); // Now, getting all entries from map and // convert it to a list using entrySet() method List<Map.Entry<String, Integer> > list = new ArrayList<Map.Entry<String, Integer> >( map.entrySet()); // Using collections class sort method // and inside which we are using // custom comparator to compare value of map Collections.sort( list, new Comparator<Map.Entry<String, Integer> >() { // Comparing two entries by value public int compare( Map.Entry<String, Integer> entry1, Map.Entry<String, Integer> entry2) { // Substracting the entries return entry1.getValue() - entry2.getValue(); } }); // Iterating over the sorted map // using the for each method for (Map.Entry<String, Integer> l : list) { // Printing the sorted map // using getKey() and getValue() methods System.out.println("Key ->" + " " + l.getKey() + ": Value ->" + l.getValue()); } } }
Key -> Geeks: Value ->1 Key -> for: Value ->2 Key -> Geek: Value ->3
Publicación traducida automáticamente
Artículo escrito por mroshanmishra0072 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA