下面的代码怎么用 stream 实现呢?想了半天绕不明白,stram api 用的太少了
public void countBlame(List<Blame> blames) {
final HashMap<String, TotalResult> map = map();
for (Blame author : blames) {
if (map.containsKey(author.getName())) {
final TotalResult totalResult = map.get(author.getName());
totalResult.setRows(totalResult.getRows() + author.getRows());
}else{
final TotalResult totalResult = new TotalResult(author.getName(), 0, 0, author.getRows(), null);
map.put(author.getName(), totalResult);
results.add(totalResult);
}
}
}
private HashMap<String,TotalResult> map() {
final HashMap<String, TotalResult> stringTotalResultHashMap = new HashMap<>();
for (TotalResult result : results) {
stringTotalResultHashMap.put(result.getName(), result);
}
return stringTotalResultHashMap;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.