java Java8 Map按值反转排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Java8 Map按值反转排序相关的知识,希望对你有一定的参考价值。

// sort in order of values reversed
map.entrySet().stream()
    .sorted(Map.Entry.<String, Long>comparingByValue().reversed())
  
// sort by some attribute of enty
// and collect back to another map preserving the new order
this.tasks.entrySet().stream()
    .sorted(Comparator.comparingInt(o -> o.getValue().getPriority()))
    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));

// group some values by some criteria, counting numbers in each group
Map<Integer, Long>  map = this.tasks.values().stream()
    .map(Task::getPriority)
    .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

以上是关于java Java8 Map按值反转排序的主要内容,如果未能解决你的问题,请参考以下文章

使用Java8 Stream API对Map按键或值进行排序

Java 8 流映射到按值排序的键列表

Java Map 按值排序

Java Map按键(Key)排序和按值(Value)排序

Java8-对map过滤

Java8之集合排序