JAVA Stream流
阿新 • • 發佈:2022-05-18
體驗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 }
未完