java treemap sort by value in reverse
Map<String, Integer> unSortedMap = getUnSortedMap(); System.out.println("Unsorted Map : " + unSortedMap); //LinkedHashMap preserve the ordering of elements in which they are inserted LinkedHashMap<String, Integer> sortedMap = new LinkedHashMap<>(); unSortedMap.entrySet() .stream() .sorted(Map.Entry.comparingByValue()) .forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue())); System.out.println("Sorted Map : " + sortedMap); Output: Unsorted Map : {alex=1, charles=4, david=2, brian=5, elle=3} Sorted Map : {alex=1, david=2, elle=3, charles=4, brian=5}