Fisherman_sail 2022-08-15 16:21 采纳率: 80%
浏览 22
已结题

TreeMap的Comparator

想问一下,我是想令这个TreeMap按照value方式排序,默认是key。下面这个写法只能改变key(Character)的排序方式,包括下面呢张图重写Comparator,也只能涵盖key的方式。我看网上的一些方式,是把treemap的entry扔到list里,在利用sort,重写sort的Comparator才能实现。
所以TreeMap不能直接按照value来排序吗?

Map<Character, Integer> map = new TreeMap<>((a, b) -> b - a);

img

  • 写回答

1条回答 默认 最新

  • Tomshidi 2022-08-15 16:27
    关注

    map是用key查找元素存放位置的,value不参与排序,就算给了作用于value的Comparator,也无法对排序产生影响。
    别人之所以用entry手动实现排序,就是因为map本身不支持对value进行排序处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月15日