JavaSE-23.2.4【Stream流案例】
1 package day14.lesson2; 2 3 import java.util.ArrayList; 4 import java.util.stream.Stream; 5 6 /* 7 2.5 Stream流案例 8 9 案例需求 10 现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作 11 男演员只要名字为3个字的前三人 12 女演员只要姓林的,并且不要第一个 13 把过滤后的男演员姓名和女演员姓名合并到一起 14 把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据 15 演员类Actor:有一个成员变量,一个带参构造方法,以及成员变量对应的get/set方法 16 */ 17 public class Demo5Stream { 18 public static void main(String[] args) { 19 ArrayList<String> manList = new ArrayList<>(); 20 manList.add("周润发"); 21 manList.add("成龙"); 22 manList.add("刘德华"); 23 manList.add("吴京"); 24 manList.add("周星驰"); 25 manList.add("李连杰"); 26 27 ArrayList<String> womanList = new ArrayList<>(); 28 womanList.add("林心如"); 29 womanList.add("张曼玉"); 30 womanList.add("林青霞"); 31 womanList.add("柳岩"); 32 womanList.add("林志玲"); 33 womanList.add("王祖贤"); 34 35 /* Stream<String> manStream = manList.stream().filter(s -> s.length() == 3).limit(3); 36 Stream<String> womanStream = womanList.stream().filter(s -> s.startsWith("林")).skip(1); 37 38 // Stream.concat(manStream, womanStream).forEach(System.out::println); 39 // 周润发 40 // 刘德华 41 // 周星驰 42 // 林青霞 43 // 林志玲 44 45 Stream<String> stream = Stream.concat(manStream, womanStream); 46 // stream.map(Actor::new).forEach(System.out::println); 47 // day14.lesson2.Actor@27d6c5e0 48 // day14.lesson2.Actor@4f3f5b24 49 // day14.lesson2.Actor@15aeb7ab 50 // day14.lesson2.Actor@7b23ec81 51 // day14.lesson2.Actor@6acbcfc0 52 stream.map(Actor::new).forEach(p -> System.out.println(p.getName())); 53 // 周润发 54 // 刘德华 55 // 周星驰 56 // 林青霞 57 // 林志玲*/ 58 59 Stream.concat( 60 manList.stream().filter(s -> s.length() == 3).limit(3), 61 womanList.stream().filter(s -> s.startsWith("林")).skip(1) 62 ).map(Actor::new).forEach(p -> System.out.println(p.getName())); 63 } 64 } 65 66 class Actor{ 67 private String name; 68 69 public Actor(String name) { 70 this.name = name; 71 } 72 73 public void setName(String name) { 74 this.name = name; 75 } 76 77 public String getName() { 78 return name; 79 } 80 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!