計算と一行でマップを更新する方法

ホルヘ・ラビン:

以下のためにHashMap<String, LongAdder> named counts、どのように私は関係なく、キーという存在のか、その値をインクリメントしますか?

私はこれを試してみました

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

しかし、v.increment()あるvoid方法では、ラムダが一致しないことがBiFunction<? super String, ? super LongAdder, ? extends LongAdder>契約。

アンディ・ターナー:

入れてincrementcompute

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=331761&siteId=1