Java8-优雅的计算集合元素重复个数

前言

最近在做项目时发现一个很实用的方法map.merge(),开发了这么久头一回见到这玩意,想必我应该不是最后一个知道的吧,废话不多说,看源码
在这里插入图片描述
通俗的讲就是当key不存在时做put(key, value)操作,当key存在时,我们可以通过函数式接口remappingFunction将传入的value和旧值合并的方式成一个newValue ,然后将合并得到的 newValue 赋值给原先的 key

实战

public class Test {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("1", "1", "1", "1", "2", "3", "4");
        Map<String, Integer> map = new HashMap<>(16);
        list.forEach(item -> {
            map.merge(item, 1, Integer::sum);
        });
        System.out.println(map);
    }
}

结果

在这里插入图片描述

总结

map.merge()适用一些一对多的值处理场景,在代码中使用也可以让人眼前一亮

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值