java stream流计算
1.计算并求和
例如一个实体,包含单价和数量两个字段,然后有一个集合存储多个这样的实体,现在需求:求总价(就是意思说 单价*数量 +单价*数量...=总价 )
List<Map<String,Double>> list = new ArrayList<>(); Map<String,Double> map1 = new HashMap<>(); map1.put("单价",2.0); map1.put("数量",4.0); list.add(map1); Map<String,Double> map2 = new HashMap<>(); map2.put("单价",5.0); map2.put("数量",4.0); list.add(map2); double total = list.stream() .map(d -> d.get("单价") * d.get("数量")) .reduce(0.0,Double::sum);
求得:2*4 + 5*4 = 28 => total = 28