我有以下输入数据,我想要的是在field1和field2重复后聚合持续时间字段(field3),
我尝试了hashmap,但在我的情况下有2个键,还有一个值!
输入文件:
date Company Duration 20161014 IBM 234 20161014 IBM 132 20161014 DELL 223 20161014 DELL 23 20161014 DELL 12 20161015 IBM 122 20161015 IBM 654 20161015 IBM 347 20161015 IBM 997 20161015 DELL 666
需要输出:
Date Company Total duration 20161014 IBM 366 20161015 IBM 2120 20161014 DELL 258 20161015 DELL 666
由于
答案 0 :(得分:0)
您可以将groupingBy与流使用:
items.stream().collect(
Collectors.groupingBy(Item::getDate, mapping(Item::getCompany, toSet())), Collectors.summingInt(Item::getTotalDuration)));