案例
- 建立一個集合,存儲多個字元串元素
- 把集合中所有以"張"開頭的元素存儲到一個新的集合
- 把"張"開頭的集合中的長度為3的元素存儲到一個新的集合
傳統方法
package com.ding.stream;
import java.util.ArrayList;
public class MyStream1 {
public static void main(String[] args) {
ArrayList<String> list1 =new ArrayList<>();
list1.add("張三豐");
list1.add("張無極");
list1.add("張翠山");
list1.add("王二麻子");
list1.add("張良");
list1.add("謝廣坤");
//周遊list1把以張開頭的元素添加到list2中
ArrayList<String> list2 = new ArrayList<>();
for (String s : list1) {
if (s.startsWith("張")) {
list2.add(s);
}
}
//周遊list2,把長度為3的元素添加到list3中
ArrayList<String> list3 = new ArrayList<>();
for (String s : list2) {
if (s.length() == 3) {
list3.add(s);
}
}
for (String s : list3) {
System.out.println(s);
}
list3.forEach(
(s) -> {System.out.println(s);}
);
}
}
Stream流
package com.ding.stream;
import java.util.ArrayList;
public class MyStream1 {
public static void main(String[] args) {
ArrayList<String> list1 =new ArrayList<>();
list1.add("張三豐");
list1.add("張無極");
list1.add("張翠山");
list1.add("王二麻子");
list1.add("張良");
list1.add("謝廣坤");
System.out.println("=======Stream流=======");
list1.stream().filter(s->s.startsWith("張"))
.filter(s->s.length() == 3)
.forEach(s-> System.out.println(s));
/* list1.stream().filter(s -> s.startsWith("張"))
.filter(s -> s.length() == 3)
.forEach(System.out::println);
*/
}
}
/*=======Stream流=======
張三豐
張無極
張翠山
*/
有的要别人來設定目标,有的給别人設定目标;
有的需要感情支援生活,有的需要意志支援生活。