/**
* Map value降序排序
* @param map
* @param <K>
* @param <V>
* @return LinkedHashMap
*/
public static <K, V extends Comparable<? super V>> Map<K, V> sortByValueAscending(Map<K, V> map){
List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<K, V>>(){
@Override
public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2){
int compare = (o1.getValue()).compareTo(o2.getValue());
return -compare;
}
}); Map<K, V> result = new LinkedHashMap<K, V>();
for (Map.Entry<K, V> entry : list) {
result.put(entry.getKey(), entry.getValue());
}
return result;
}

ps:

05-14 22:02