行业知识
【笔记】:更方便的将一个List中的数据传入另一个List中,避免多重循环
2026-11-04 21:27:26
来源:互联网转载
这���是 simpleInfoList 集合,记为集合A(传值对象)
List simpleInfoList = courseClient.getSimpleInfoList(courseIds); if(simpleInfoList==null){ throw new BizIllegalException("当前课程不存在!"); } 这里是 learningPlanVOS 集合,记为集合B(被传值对象)
ArrayList learningPlanVOS = new ArrayList(); lessonPageRecords.stream() .forEach(new Consumer() { @Override public void accept(LearningLesson learningLesson) { LearningPlanVO learningPlanVO = new LearningPlanVO(); BeanUtils.copyProperties(learningLesson,learningPlanVO); learningPlanVO.setCourseName(); //课程名称 learningPlanVO.setSections(); //课程章节数量 learningPlanVO.setWeekLearnedSections(); //本周已学习章节数 learningPlanVOS.add(learningPlanVO); } }); 现在需要将集合A中的【课程名称】以及【课程的章节数量】属性,挨个对应的传入到集合B中进行赋值;像平常,大多数人想到的应该是List里面直接套List,这样即会繁琐复杂,而且还浪费空间,真实一举不两得
所以,这里可以先将集合A转换为 map 集合(使用 stream 流将其转换),以课程ID为键,以DTO对象为值
然后将集合A转化后的 map 集合,根据 get 对应的课程ID,获取到对应的 DTO 对象,然后传入集合 B 中,进行挨个的赋值操作