加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java-如何在地图值是集合的情况下按值大小对地图条目进行排序?

发布时间:2020-12-14 19:27:11 所属栏目:Java 来源:网络整理
导读:这个问题已经在这里有了答案:????????????????????????How can I sort a Map based upon on the size of its Collection values?????????????????????????????????????2个 有没有一种方法可以按值对映射条目进行排序,而值是一个集合?我想按条目集合的大小

这个问题已经在这里有了答案:????????????>????????????How can I sort a Map based upon on the size of its Collection values?????????????????????????????????????2个
有没有一种方法可以按值对映射条目进行排序,而值是一个集合?我想按条目集合的大小对条目进行排序.到目前为止,我的代码:

public Map<Object,Collection<Object>> sortByCollectionSize() {
    return myMap.entrySet().stream().sorted(Map.Entry.<Object,Collection<Object>>comparingByValue())
            .collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue,(e1,e2) -> e1,LinkedHashMap::new));
}
最佳答案
您可以通过Comparator.comparingInt将其用作:

return myMap.entrySet()
            .stream()
            .sorted(Comparator.comparingInt(e -> e.getValue().size()))
            .collect(Collectors.toMap(Map.Entry::getKey,LinkedHashMap::new));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读