首页 > 解决方案 > 如何使用计算在一行中更新地图

问题描述

对于 a 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>合同的方法。

标签: javahashmap

解决方案


increment外面的compute

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

推荐阅读