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

posted @ 2020-04-15 09:04  sunseeker  阅读(2356)  评论(0编辑  收藏  举报