1. 程式人生 > >Map按值的升序或降序排序最簡單的方法

Map按值的升序或降序排序最簡單的方法

使用jdk8的新特性

private List<Map.Entry<String, Integer>> sortMap(Map<String, Integer> map, boolean asc) {

    Stream<Map.Entry<String, Integer>> stream = null;
    if (asc) {
        stream = map.entrySet().stream().sorted(Map.Entry.comparingByValue());
    } else {
        stream = map.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByValue()));
    }

    return stream.collect(Collectors.toList());
}