0
点赞
收藏
分享

微信扫一扫

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

穿裙子的程序员 2022-04-19 阅读 64
java后端

前言

最近在做项目时发现一个很实用的方法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()适用一些一对多的值处理场景,在代码中使用也可以让人眼前一亮

举报

相关推荐

0 条评论