【笔记】:更方便的将一个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 中,进行挨个的赋值操作

相关推荐
柒十三.1 小时前
江科大51单片机笔记【12】DS18B20温度传感器(上)
笔记·嵌入式硬件·51单片机
Zach_yuan1 小时前
list的模拟实现
c++·list
周周记笔记4 小时前
学习笔记:Python网络编程初探之基本概念(一)
笔记·学习
iFulling5 小时前
【数据结构】第六章:图
数据结构·笔记·算法
He BianGu13 小时前
笔记:在Git中.gitmodules文件的功能和作用和如何使用
笔记·git
陈辛chenxin13 小时前
【论文带读(3)】《Real-Time Flying Object Detection with YOLOv8》带读笔记翻译
人工智能·笔记·yolo·目标检测·计算机视觉
[ ]89814 小时前
ISIS笔记(2)
笔记·网络协议·智能路由器
Zhouqi_Hua15 小时前
LLM论文笔记 19: On Limitations of the Transformer Architecture
论文阅读·人工智能·笔记·深度学习·语言模型·自然语言处理·transformer
阿陈陈陈15 小时前
【Node.js入门笔记1---初始Node.js)】
笔记·node.js
是懒羊羊吖~15 小时前
MySQL-----表操作.数据库字典.表约束
数据库·笔记·mysql·约束