Ordenar por valores utilizando TreeSet
Podemos ordenar un HashMap por valores utilizando un TreeSet. Un TreeSet también almacena los datos en orden ascendente (ordenados por valores). Siga el código a continuación:
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.TreeSet;
public class HashMapSortDemo {
public static void main(String args[]) {
HashMap<String, Integer> unsortedMap = new HashMap<>();
unsortedMap.put("one", 1);
unsortedMap.put("two", 2);
unsortedMap.put("three", 3);
unsortedMap.put("four", 4);
unsortedMap.put("five", 5);
unsortedMap.put("fourteen", 4);
unsortedMap.put("fifteen", 5);
unsortedMap.put("twenty", 2);
System.out.println("Printing the Unsorted HashMap");
for(Entry<String, Integer> e : unsortedMap.entrySet()) {
System.out.println(e.getKey() + "-->" + e.getValue());
}
TreeSet<Integer> sortedSet = new TreeSet<>(unsortedMap.values());
System.out.println("\nLos valores ordenados son: " + sortedSet);
}
}
El código anterior está ordenando el HashMap por valores utilizando un TreeSet.
Utilice el siguiente comando para compilar y ejecutar el código:
javac HashMapSortDemo.java && java HashMapSortDemo