list转list(基于stream)
list<dto>转list<String>效果图
1 2 3 4 5 6 7 | 代码部分 List<SourceObject> sourceList = createSourceList(); List<String> collect = sourceList.stream().map(sourceObject -> sourceObject.getName()).collect(Collectors.toList()); collect.forEach(a->{ System.out.println(a); }); |
list<dto>转list<dto>效果图
代码部分
1 2 3 4 5 | List<TargetObject> targetObjects = sourceList.stream().map(sourceObject -> TargetObject.builder().id(sourceObject.getId()).name(sourceObject.getName()).build()) .collect(Collectors.toList()); targetObjects.forEach(a->{ System.out.println(a); }); |
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | package springboot; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @author yourheart * @Description * @create 2024-05-10 16:49 */ public class ListToListTest { @Test public void test(){ List<SourceObject> sourceList = createSourceList(); List<String> collect = sourceList.stream().map(sourceObject -> sourceObject.getName()).collect(Collectors.toList()); collect.forEach(a->{ System.out.println(a); }); List<TargetObject> targetObjects = sourceList.stream().map(sourceObject -> TargetObject.builder().id(sourceObject.getId()).name(sourceObject.getName()).build()) .collect(Collectors.toList()); targetObjects.forEach(a->{ System.out.println(a); }); } private List<SourceObject> createSourceList() { // 创建一个简单的 SourceObject 列表 List<SourceObject> list = new ArrayList<>(); list.add( new SourceObject( 1 , "Apple" )); list.add( new SourceObject( 2 , "Banana" )); list.add( new SourceObject( 3 , "Orange" )); return list; } } @Data class SourceObject { private int id; private String name; public SourceObject( int id, String name) { this .id = id; this .name = name; } // 省略构造函数和 getter/setter 方法 } @Data @Builder @NoArgsConstructor @AllArgsConstructor class TargetObject { private int id; private String name; // 省略构造函数和 getter/setter 方法 } |
使用的依赖
1 2 3 4 5 6 7 8 9 10 11 12 | <!--引入junit单元测试依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version> 4.13 . 2 </version> </dependency> <!--lombok依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version> 1.18 . 26 </version> </dependency> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2023-05-10 pl/sql 插入中文乱码