进阶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