利用Map 的merge方法统计数量

1.前言

我们一般统计某个数量的时候习惯于用map

Map<String, Integer> map = new HashMap<>();
        if (map.containsKey("Bob")) {
            Integer count = map.get("Bob");
            map.put("Bob", count++);
        } else {
            map.put("Bob", 0);
        }

先判断是否有对应的key,然后++;

2.利用merge方法

Map<String, Integer> map = new HashMap<>();
map.merge("Bob", 1, Integer::sum);

merge方法意思是: 如果没有对应的Key值,比如:"Bob",那么就放入指定值  1, 否则就运行指定的函数.

这边函数用的是sum的方法引用,直接递增Bob的数量.

可以看到merge和函数式编程结合起来让实现一个功能的代码少多了, 也更清晰.

posted @ 2020-05-18 23:07  随意的马蒂洛克  阅读(681)  评论(0编辑  收藏  举报