Java对map做count统计、累加、求和、排序、分组等操作

lambda java 文章 2020-08-03 15:09 6926 0 全屏看文

AI助手支持GPT4.0

初始数据

List<Animal> AnimalList = Lists.newArrayList(new Animal("dog", 6),
        new Animal("dog", 6),
        new Animal("cat", 7), new Animal("cat", 7),
        new Animal("cat", 7), new Animal("pig",8));


1)计数

Map<String, Long> map = AnimalList.stream().
   collect(Collectors.groupingBy(Animal::getName,Collectors.counting()));

输出结果:{cat=3, dog=2, pig=1}


2)  排序(逆序)

map.entrySet().stream().sorted(Map.Entry.<String, Long>comparingByValue().reversed())
         .forEachOrdered(System.out::println);


3) 累加求和

Map<String, Integer> sumMap = AnimalList.stream().collect.
(Collectors.groupingBy(Animal::getName, Collectors.summingInt(Animal::getPrice)));

输出结果是:{cat=21, dog=12, pig=8}


4) 分组:

Map<String, List<Integer>> groupMap = 
AnimalList.stream().collect(Collectors.groupingBy(Animal::getName, 
Collectors.mapping(Animal::getPrice, Collectors.toList())));


-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
使用lambda语法对对象集合 统计属性相同的个数大于2的数据
使用lambda语法对FieldInfo对象集合 使用columnName属性排序并输出
使用lambda语法对ExcelInput对象集合 统计getExcelA属性相同的个数
Java的Lambda的代码,用最少最短的代码量实现冒泡排序
lambda表达式,将对象按照属性A作为 key,对象作为值 转成map对象
随便看看
微信设置不可以使用小程序(游戏小程序) 5527
adsense申请已经支付的订单回退的网址 3144
BT面板查看网站入口、账号密码的命令 5896
ucloud海外服务器超级优惠券 3198
根据您的消费情况,您的延停权益已发生变化,变更后的延停权益为延停额度20.00元 5751
为什么我们喜欢迈克尔杰克逊。 4081
阿里云com、cn域名续费优惠码(2020年5月可用) 3504
阿里云com、cn域名续费优惠码(2020年6月可用) 3508
微信公众号开五联增值税发票怎么处理 2883
仙之侠道幻彩衣的合成和属性预览 4245