What I want to do is sort a map by value. I went over many questions that are available on the stackoverflow site and found out following solution that does what I want but
You should use new TreeMap<>(Collections.reverseOrder());
.
Map newMap = new TreeMap<>(Collections.reverseOrder());
newMap.putAll(myMap);
or to reverse an existing comparator like the value-comparator Collections.reverseOrder(comparator)
. It works like your approach swapping the two objects before invoking compare
/compareTo
.