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());
}
本文介绍如何利用Java Stream API简化复杂的循环逻辑,通过示例对比了传统双重for循环与Stream流处理方式的区别,展示了Stream在集合操作上的高效性和简洁性。
8653

被折叠的 条评论
为什么被折叠?



