Here’s how to sort a Map by its values in Java.
import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; public class SortingMaps { public static void main(String[] args) { Map<String, Integer> unsortedMap = Map.of( "three", 3, "one", 1, "four", 4, "five", 5, "two", 2 ); Map<String, Integer> sortedMap = sortByValue(unsortedMap); System.out.println(sortedMap); } private static Map<String, Integer> sortByValue(Map<String, Integer> unsortedMap) { Map<String, Integer> sortedMap = new LinkedHashMap<>(); unsortedMap.entrySet().stream() .sorted(Map.Entry.comparingByValue()) .forEach(entry -> sortedMap.put(entry.getKey(), entry.getValue())); return Collections.unmodifiableMap(sortedMap); } }
If you have any questions, leave a comment or ask me on my social media.