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); + + + } +}