如何使用计算机在一行中更新地图

时间:2019-05-17 07:27:11

标签: java hashmap

对于HashMap<String, LongAdder> named counts,无论键是否存在,如何增加其值?

我已经尝试过了

counts.compute(id, (k, v) -> v == null ? new LongAdder() : v.increment());

但是v.increment()是一种void方法,因此lambda与BiFunction<? super String, ? super LongAdder, ? extends LongAdder>合同不同。

1 个答案:

答案 0 :(得分:4)

increment放在compute之外:

counts.computeIfAbsent(id, k -> new LongAdder()).increment();