From e31a7271ff1d9ec4655c69ac0585a608ec04d086 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 14 Mar 2026 14:25:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day07-Stream=E6=B5=81?= =?UTF-8?q?=E7=9A=84=E6=A6=82=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/stream03/StreamDemo16.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 javaSE-day07/src/com/inmind/stream03/StreamDemo16.java diff --git a/javaSE-day07/src/com/inmind/stream03/StreamDemo16.java b/javaSE-day07/src/com/inmind/stream03/StreamDemo16.java new file mode 100644 index 0000000..67bb814 --- /dev/null +++ b/javaSE-day07/src/com/inmind/stream03/StreamDemo16.java @@ -0,0 +1,48 @@ +package com.inmind.stream03; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/* +学习内容:传统操作集合和Stream流操作集合的对比 + +需求: +1. 首先筛选所有姓张的人; +2. 然后筛选名字有三个字的人; +3. 最后进行对结果进行打印输出。 + */ +public class StreamDemo16 { + public static void main(String[] args) { + List list = new ArrayList<>(); + list.add("张无忌"); + list.add("周芷若"); + list.add("赵敏"); + list.add("张强"); + list.add("张三丰"); + + //1. 首先筛选所有姓张的人; + ArrayList list1 = new ArrayList<>(); + for (String s : list) { + if (s.startsWith("张")) { + list1.add(s); + } + } + //2. 然后筛选名字有三个字的人; + ArrayList list2 = new ArrayList<>(); + for (String s : list1) { + if (s.length() == 3) { + list2.add(s); + } + } + System.out.println(list2); + //-----------------------------------以下使用Stream流优化以上的代码 ----------------------------- + List list3 = list.stream() + .filter(s -> s.startsWith("张")) + .filter(s -> s.length() == 3) + .collect(Collectors.toList()); + System.out.println(list3); + + + } +}