use*_*267 1 java java-8 java-stream
如何使用java 8流更新Map?至于现在我在做:
Map<String, Integer> testMap = Maps.newHashMap();
for(Map.Entry<String,Integer> testEntrySet : testCounts.entrySet()) {
String name = Utils.cleanName(testEntrySet.getKey());
if(testMap.containsKey(name)) {
testMap.put(name, testMap.get(name) +
testCounts.get(testEntrySet.getKey()));
} else {
testMap.put(name, testCounts.get(testEntrySet.getKey()));
}
}
return testMap;
}
Run Code Online (Sandbox Code Playgroud)
我没有测试过,但我怀疑你的代码相当于:
return testCounts.entrySet().stream()
.collect(groupingBy(e -> Utils.cleanName(e.getKey()),
summingInt(e -> e.getValue())));
Run Code Online (Sandbox Code Playgroud)
(使用适当的静态Collectors导入).
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |