stream同时循环两个List并将其中一个list中的数据赋值到另一个list中

源码如下 

//获取otherList数据
        List<SampleTestProgressDTO> otherList = purchaseSampleItemMapper.selectSampleTestProgress((pageNo - 1) * pageSize, pageSize);

        //获取orderList数据
        List<SampleTestProgressDTO> orderList = sampleTestProgressExtendApiService.getList((pageNo - 1) * pageSize, pageSize);


        //将orderList中的数据赋值到otherList中
        List<SampleTestProgressDTO> list = otherList.stream().map(map -> orderList.stream()
                        //判断两个list中ElsAccount是否相等
                        .filter(m -> Objects.equals(m.getElsAccount(), map.getElsAccount()))
                        .findFirst().map(m -> {
                            //将orderList字段赋值到otherList中
                            map.setSupplierCode(m.getSupplierCode());
                            map.setSupplierName(m.getSupplierName());
                            map.setOrderNumber(m.getOrderNumber());
                            map.setQuantity(m.getQuantity());
                            map.setOrderDate(m.getOrderDate());
                            return map;
                        }).orElse(null))
                .filter(Objects::nonNull).collect(Collectors.toList());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值