【笔记】:更方便的将一个List中的数据传入另一个List中,避免多重循环

这里是 simpleInfoList 集合,记为集合A**(传值对象)**

java 复制代码
List<CourseSimpleInfoDTO> simpleInfoList = courseClient.getSimpleInfoList(courseIds);
        if(simpleInfoList==null){
            throw new BizIllegalException("当前课程不存在!");
        }

这里是 learningPlanVOS 集合,记为集合B**(被传值对象)**

java 复制代码
ArrayList<LearningPlanVO> learningPlanVOS = new ArrayList<>();
        lessonPageRecords.stream()
                .forEach(new Consumer<LearningLesson>() {
                    @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 中,进行挨个的赋值操作

相关推荐
im_AMBER2 小时前
Leetcode 38
笔记·学习·算法·leetcode
koo3642 小时前
李宏毅机器学习笔记32
人工智能·笔记·机器学习
老王熬夜敲代码6 小时前
C++继承回顾
c++·笔记
SWUT胖虎7 小时前
AlphabetIndexer组件 与 List 联动总结
list·harmonyos·arkts·鸿蒙
摇滚侠8 小时前
Spring Boot3零基础教程,整合 SSM,笔记52
java·spring boot·笔记
lbai71349 小时前
Perf-Ninja听课笔记 - 环境配置及Warmup
笔记·性能优化
递归不收敛9 小时前
四、高效注意力机制与模型架构
人工智能·笔记·自然语言处理·架构
陈苏同学10 小时前
笔记1.4:机器人学的语言——三维空间位姿描述 (旋转矩阵 - 齐次变换矩阵 - 欧拉角 - 四元数高效表示旋转)
笔记·线性代数·算法·机器人
岑梓铭10 小时前
考研408《计算机组成原理》复习笔记,第五章(5)——CPU的【指令流水线(含中断)】
笔记·考研·408·计算机组成原理·计组
递归不收敛10 小时前
多模态学习大纲笔记(未完成)
人工智能·笔记·学习·自然语言处理