下面的代码怎么用 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;
}