我正在尝试用单词及其出现次数填充地图。我正在尝试编写一个lambda来做到这一点,就像这样:
Consumer<String> wordCount = word -> map.computeIfAbsent(word, (w) -> (new Integer(1) + 1).intValue());
map
是Map<String, Integer>
。如果不存在该单词,则只需在映射中插入该单词作为关键字,如果存在该单词,则应将其整数值增加1。这在语法上是不正确的。 最佳答案
您不能使用computeIfAbsent
增加计数,因为它将仅在第一次时计算。
您可能的意思是:
map.compute(word, (w, i) -> i == null ? 1 : i + 1);