list与list之间当某个属性值相等时,设置其他属性

本文介绍如何利用Java Stream API简化复杂的循环逻辑,通过示例对比了传统双重for循环与Stream流处理方式的区别,展示了Stream在集合操作上的高效性和简洁性。
if (firstUserWithdrawalNumList.size()>0&&firstUserWithdrawalNumList.get(0)!=null){
					List<UserHomeData> list = userHomeList.stream()
							.map(userHomeData -> firstUserWithdrawalNumList.stream()
									.filter(firstData -> userHomeData.getReportDay().equals(firstData.getCheckday()))
									.findFirst()
									.map(firstData -> {
										userHomeData.setWithdrawNumTotal(firstData.getNumTotal());
										userHomeData.setWithdrawMoneyTotal(firstData.getMoneyTotal());
										return userHomeData;
									}).orElse(userHomeData))
							.collect(Collectors.toList());

					userHomeList=list;
				}

使用stream代替双重for循环

     if (idslists.size()>0){
        for (int i=0;i<idslists.size();i++){
          for (int j=0;j<fisrtList.size();j++){
           if (fisrtList.get(j).getId().equals(idslists.get(i).getCategoryId())){
               list.add(fisrtList.get(j));
                      }
                 }
             }
        }

        if (idslists.size()>0){
         list=fisrtList.stream().filter((treeVo) ->
            idslists.stream().anyMatch(item-> treeVo.getId().equals(item.getCategoryId()))
         ).collect(Collectors.toList());
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值