进阶day07-Stream流的概述
This commit is contained in:
48
javaSE-day07/src/com/inmind/stream03/StreamDemo16.java
Normal file
48
javaSE-day07/src/com/inmind/stream03/StreamDemo16.java
Normal file
@@ -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<String> list = new ArrayList<>();
|
||||
list.add("张无忌");
|
||||
list.add("周芷若");
|
||||
list.add("赵敏");
|
||||
list.add("张强");
|
||||
list.add("张三丰");
|
||||
|
||||
//1. 首先筛选所有姓张的人;
|
||||
ArrayList<String> list1 = new ArrayList<>();
|
||||
for (String s : list) {
|
||||
if (s.startsWith("张")) {
|
||||
list1.add(s);
|
||||
}
|
||||
}
|
||||
//2. 然后筛选名字有三个字的人;
|
||||
ArrayList<String> list2 = new ArrayList<>();
|
||||
for (String s : list1) {
|
||||
if (s.length() == 3) {
|
||||
list2.add(s);
|
||||
}
|
||||
}
|
||||
System.out.println(list2);
|
||||
//-----------------------------------以下使用Stream流优化以上的代码 -----------------------------
|
||||
List<String> list3 = list.stream()
|
||||
.filter(s -> s.startsWith("张"))
|
||||
.filter(s -> s.length() == 3)
|
||||
.collect(Collectors.toList());
|
||||
System.out.println(list3);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user