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

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

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

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

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 中,进行挨个的赋值操作

                                                                       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/418603.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu上Jenkins自动化部署Gitee上VUE项目

文章目录 1.安装NodeJS插件2.配置全局工具配置-NodeJS环境变量3.新建自由风格的软件项目任务4.配置General配置丢弃旧的构建配置参数化构建过程 5.配置源码管理6.构建触发器7.设置构建环境8.配置构建步骤9.配置构建后操作10测试构建 前文链接&#xff1a; Ubuntu上Jenkins自动…

使用 OpenCV 通过 SIFT 算法进行对象跟踪

本文介绍如何使用 SIFT 算法跟踪对象 在当今世界&#xff0c;当涉及到对象检测和跟踪时&#xff0c;深度学习模型是最常用的&#xff0c;但有时传统的计算机视觉技术也可能有效。在本文中&#xff0c;我将尝试使用 SIFT 算法创建一个对象跟踪器。 为什么人们会选择使用传统的计…

深入Linux内核(进程篇)—进程切换之ARM体系架构 简单总结

context_switch函数完成Arm架构Linux进程切换&#xff0c;调用两个函数&#xff1a; 调用switch_mm() 完成用户空间切换&#xff0c;刷新I-CACHE&#xff0c;处理ASID和TLB&#xff0c;页表转换基址切换&#xff08;即把TTBR0寄存器的值设置为新进程的PGD&#xff09;&#xf…

应用多元统计分析--多元数据的直观表示(R语言)

例1.2 为了研究全国31个省、市、自治区2018年城镇居民生活消费的分布规律&#xff0c;根据调查资料做区域消费类型划分。 指标&#xff1a; 食品x1&#xff1a;人均食品支出(元/人) 衣着x2&#xff1a;人均衣着商品支出(元/人) 居住x3&#xff1a;人均居住支出(元/人) 生活x4…

智能驾驶规划控制理论学习-基于采样的规划方法

目录 一、基于采样的规划方法概述 二、概率路图&#xff08;PRM&#xff09; 1、核心思想 2、实现流程 3、算法描述 4、节点连接处理 5、总结 三、快速搜索随机树&#xff08;RRT&#xff09; 1、核心思想 2、实现流程 3、总结 4、改进RRT算法 ①快速搜索随机图&a…

Newtonsoft.Json

目录 引言 1、简单使用 1.1、官方案例 1.2、JsonConvert 2、特性 2.1、默认模式[JsonObject(MemberSerialization.OptIn/OptOut)] 2.2、序列化为集合JsonArrayAttribute/JsonDictionaryAttribute 2.3、序列化该元素JsonProperty 2.4、忽略元素JsonIgnoreAttribute 2.5、…

来,和同频的人一起学习论文#理解技术趋势

学习新技术&#xff0c;慢慢也有了施展拳脚的地方。今天我们给ComfyUI中文爱好者社区成员提供了一个工作机会&#xff0c;有需要可以联系我们的小助手&#xff1a; 相信这几天大家都看到了我们更新了些论文笔记出来&#xff0c;阅读1篇英文论文我们需要花几个小时&#xff0c;如…

STM32串口DMA发送接收(1.5Mbps波特率)机制

数据拷贝过程中不需要CPU干预&#xff0c;数据拷贝结束则通知CPU处理。 以115200bps波特率&#xff0c;1s传输11520字节&#xff0c;大约69us需响应一次中断&#xff0c;如波特率再提高&#xff0c;将消耗更多CPU资源 高波特率场景下&#xff0c;串口非常有必要使用DMA。 关…

C#使用iText7将多个PDF文档合并为单个文档

使用HtmlAgilityPack抓取并分析网页内容&#xff0c;然后再调用PuppeteerSharp将网页生成PDF文件&#xff0c;最终的成果如下图所示&#xff0c;得到将近120个pdf文档。能看&#xff0c;但是不方便&#xff0c;需要逐个打开文档才能看到所需的内容&#xff0c;最好能将这些文档…

Ps:绘画对称功能

Photoshop 中的绘画对称 Paint Symmetry功能允许用户在画布上创建对称的绘画和设计&#xff0c;极大地提高了创作的效率和准确性&#xff0c;尤其适合于制作复杂的对称图形和图案。 可在使用画笔工具、铅笔工具或橡皮擦工具时启用“绘画对称"功能。 提示&#xff1a; 绘画…

【IO流系列】ObjectStream 序列化流与反序列化流

序列化流与反序列化流 1. 概述2. 作用3. 序列化流&#xff08;对象操作字节输出流&#xff09;3.1 构造方法3.2 成员方法3.3 代码示例 4. 反序列化流&#xff08;对象操作字节输入流&#xff09;4.1 构造方法4.2 成员方法4.3 代码示例 5. 细节6. 练习6.1 练习1&#xff1a;用对…

看待事物的层与次 | DBA与架构的一次对话交流

前言 在计算机软件业生涯中,想必行内人或多或少都能感受到系统架构设计与数据库系统工程的重要性,也能够清晰地认识到在计算机软件行业中技术工程师这个职业所需要的专业素养和必备技能! 背景 通过自研的数据库监控管理工具,发现 SQL Server 数据库连接数在1-2K之间,想…

【git】入门

当我们设计文档时&#xff0c;我们会不断的修改文档&#xff0c;而设计的文档通过第一次修改&#xff0c;第二次修改&#xff0c;很难讲每次修改的版本维护起来&#xff0c;每个版本可以分为v1,v2 ,v3,v4如果需要哪个版本&#xff0c;我们可以直接查看。 随着版本的不断增多&am…

当大语言模型遇到AI绘画-google gemma与stable diffusion webui融合方法-矿卡40hx的AI一体机

你有想过建一台主机&#xff0c;又能AI聊天又能AI绘画&#xff0c;还可以直接把聊天内容直接画出来的机器吗&#xff1f; 当Google最新的大语言模型Gemma碰到stable diffusion webui会怎么样&#xff1f; 首先我们安装stable diffusion webui(automatic1111开源项目&#xff…

群晖NAS配置WebDav结合内网穿透实现公网访问本地影视资源

文章目录 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是&#xff1a;1 使用环境要求&#xff1a;2 配置webdav3 测试局域网使用potplayer访问webdav3 内网穿透&#xff0c;映射至公网4 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内…

贪心算法(算法竞赛、蓝桥杯)--修理牛棚

1、B站视频链接&#xff1a;A27 贪心算法 P1209 [USACO1.3] 修理牛棚_哔哩哔哩_bilibili 题目链接&#xff1a;[USACO1.3] 修理牛棚 Barn Repair - 洛谷 #include <bits/stdc.h> using namespace std; const int N205; int m,s,c,ans; int a[N];//牛的位置标号 int d[N…

opencv--使用直方图找谷底进行确定分割阈值

直方图原理就不说了&#xff0c;大家自行百度 直方图可以帮助分析图像中的灰度变化&#xff0c;进而帮助确定最优二值化的灰度阈值&#xff08;threshold level&#xff09;。如果物体与背景的灰度值对比明显&#xff0c;此时灰度直方图就会包含双峰&#xff08;bimodal histo…

【golang】25、图片操作

用 “github.com/fogleman/gg” 可以画线, 框 用 “github.com/disintegration/imaging” 可以变换颜色 一、渲染 1.1 框和字 import "github.com/fogleman/gg"func DrawRectangles(inPath string, cRects []ColorTextRect, fnImgNameChange FnImgNameChange) (st…

C# 获取类型 Type.GetType()

背景 C#是强类型语言&#xff0c;任何对象都有Type&#xff0c;有时候需要使用Type来进行反射、序列化、筛选等&#xff0c;获取Type有Type.GetType, typeof()&#xff0c;object.GetType() 等方法&#xff0c;本文重点介绍Type.GetType()。 系统类型/本程序集内的类型 对于系…

【k8s配置与存储--配置管理】

1、ConfigMap的配置 1.1 ConfigMap介绍 ConfigMap 是一种 API 对象&#xff0c;用来将非机密性的数据保存到键值对中。使用时&#xff0c; Pod 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。 ConfigMap 将你的环境配置信息和容器镜像解耦&#xff0c;便于应用配…