1. 程式人生 > 其它 >JAVA Stream流

JAVA Stream流

體驗Stream流

Stream流的好處:
直接閱讀程式碼的字面意思即可完美展示無關邏輯方式的語義:獲取流、過濾姓張、過濾長度為3、逐一列印

Stream流把真正的函數語言程式設計風格引入到Java中

 1 /*案例需求
 2         按照下面的要求完成集合的建立和遍歷
 3         建立一個集合,儲存多個字串元素
 4         把集合中所有以"張"開頭的元素儲存到一個新的集合
 5         把"張"開頭的集合中的長度為3的元素儲存到一個新的集合
 6         遍歷上一步得到的集合*/
 7 
 8 import java.util.ArrayList;
9 10 public class StreamDemo { 11 public static void main(String[] args) { 12 //1.建立一個集合,儲存多個字串元素 13 ArrayList<String> arrayList=new ArrayList<>(); 14 15 arrayList.add("小龍女"); 16 arrayList.add("張無忌"); 17 arrayList.add("任盈盈"); 18 arrayList.add("張三丰");
19 arrayList.add("張敏"); 20 arrayList.add("令狐沖"); 21 22 //2.把集合中所有以"張"開頭的元素儲存到一個新的集合 23 ArrayList<String> zhangList=new ArrayList<>(); 24 for (String s:arrayList) { 25 if (s.startsWith("張")) { 26 zhangList.add(s); 27 }
28 } 29 30 //3.把"張"開頭的集合中的長度為3的元素儲存到一個新的集合 31 ArrayList<String> threeList=new ArrayList<>(); 32 for (String s:zhangList) { 33 if (s.length()==3) { 34 threeList.add(s); 35 } 36 } 37 38 //4.遍歷上一步得到的集合 39 for (String s:threeList) { 40 System.out.println(s); 41 } 42 43 System.out.println("--------"); 44 45 //Stream流改進 46 arrayList.stream().filter(s->s.startsWith("張")).filter(s -> s.length()==3).forEach(System.out::println); 47 } 48 }

未完