java - 用于填充 Map 的 Lambda

标签 java dictionary collections java-8

我正在尝试用单词及其出现次数来填充 map 。我正在尝试编写一个 lambda 来执行此操作,如下所示:

Consumer<String> wordCount = word -> map.computeIfAbsent(word, (w) -> (new Integer(1) + 1).intValue());

mapMap<String, Integer> 。如果该单词不存在,它应该将其作为键插入到映射中;如果存在,则应该将其整数值增加 1。这在语法方面是不正确的。

最佳答案

您无法使用 computeIfAbsent 增加计数,因为它只会在第一次计算。

您的意思可能是:

map.compute(word, (w, i) -> i == null ? 1 : i + 1);

关于java - 用于填充 Map 的 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790737/

相关文章:

java - google app engine java的应用监控

python - 在python中定义多维字典的最佳方法?

arrays - 如何在 Go 中创建一个 map[string] [2]int?

java - java - 如何在不重新排序的情况下从列表中删除重复项?

java - Spring Cloud Pass参数

java - MrBean模块在反序列化时是否仍然自动支持动态实现简单接口(interface)?

java——二进制插入不是一对一复制的

python - 如何将列表与常见元素合并,其中这些元素本身是列​​表/元组?

java - 使用Comparable<Object>?

java - 使用 Guava 的转发装饰器创建特定集合