一尘不染

在java中如何根据value排序一个map?

java

在java中如何根据value排序一个map?例如Map<Key, Value> 根据Value排序


阅读 776

收藏
2020-01-07

共1个答案

一尘不染

通用的版本:

public class MapUtil {
    public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map) {
        List<Entry<K, V>> list = new ArrayList<>(map.entrySet());
        list.sort(Entry.comparingByValue());

        Map<K, V> result = new LinkedHashMap<>();
        for (Entry<K, V> entry : list) {
            result.put(entry.getKey(), entry.getValue());
        }

        return result;
    }
}
2020-01-08