java stream reduce操作加减乘除

发布时间:2024年01月21日

? ? ? 在一些计算数量的场景中,需要对结合数据中的某些字段进行加减乘除运算,本文简要介绍使用stream的规约,对数据进行加减乘除的累计操作

一、定义实体类

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class  Account{
        private String name;
        private Integer  amount;
    }

二、加减乘除累计运算

    public static void main(String[] args) {
        List<Account>  list = new ArrayList<>();
        list.add(new Account("晴雯",100));
        list.add(new Account("麝月",50));
        list.add(new Account("袭人",30));
        list.add(new Account("绮霰",20));

        /// 求和
        Integer sum = list.stream().map(Account::getAmount).reduce(0, Integer::sum);
        /// 减法
        Integer sub = list.stream().map(Account::getAmount).reduce(200, (a,b)->a-b);
        ///乘法
        Integer mul = list.stream().map(Account::getAmount).reduce(1, (a,b)->a*b);
        /// 除法
        Integer div = list.stream().map(Account::getAmount).reduce(300000, (a,b)->a/b);

        System.out.println("sum====="+sum);
        System.out.println("sub====="+sub);
        System.out.println("mul====="+mul);
        System.out.println("div====="+div);

    }

文章来源:https://blog.csdn.net/fengchengwu2012/article/details/135723940
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。