直接看例子:
IntSummaryStatistics statistics = (IntSummaryStatistics) list
.stream()
.collect(
Collectors.summarizingInt(
e->Integer.valueOf( ((Map) e).get("sum").toString() )));
以下是完整代码:
public static void main(String[] args) {
Map map1 = new HashMap();
map1.put("id", "123");
map1.put("sum", 1);
Map map2 = new HashMap();
map2.put("id", "123");
map2.put("sum", 2);
Map map3 = new HashMap();
map3.put("id", "123");
map3.put("sum", 3);
Map map4 = new HashMap();
map4.put("id", "123");
map4.put("sum", 4);
List list = new ArrayList();
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
IntSummaryStatistics sumcc = (IntSummaryStatistics) list.stream().collect(
Collectors.summarizingInt(e->Integer.valueOf( ((Map) e).get("sum").toString() )));
}
扩展:我们用得到的结果 .get 会发现,如图,可以直接获取平均值,最大最小值