jdk1.8 Stream流
阿新 • • 發佈:2021-01-07
技術標籤:實習筆記整理
目錄
Stream流是什麼?
Stream
將要處理的元素集合看作一種流,在流的過程中,藉助Stream API
對流中的元素進行操作,比如:篩選、排序、聚合等。
Stream流的特性?
1:Stream不儲存資料,而是按照特定的規則對資料進行計算,一般會輸出結果
2:Stream不會改變資料來源,通常情況下會產生一個新集合或一個值
3:Stream具有延遲執行特性,只有呼叫終端操作時,中間操作才會執行
Stream流建立
1: 通過 java.util.Collection.stream() 方法用集合建立流 List<String> list=Arrays.asList("1","32"); // 建立順序流 Stream<String> stream=list.stream(); // 建立一個並行流 Stream<String> parallelStream=list.parallelStream(); 2: 使用java.util.Arrays.stream(T[] array)方法用陣列建立流 int [] array={1,3,5,6,8}; IntStream stream=Arrays.stream(array); 3: 使用Stream的靜態方法:of()、iterate()、generate() Stream<Integer> stream=Stream.of(1,2,3,4,5);
Stream流使用
List<Integer> arrayList=new ArrayList(); arrayList.add(1); arrayList.add(11); arrayList.add(31); arrayList.add(5); arrayList.add(43); arrayList.add(112); arrayList.add(132); 建立流 Stream stream=arrayList.stream(); //過濾 stream.filter(x->x>6).collection(Collectors.tolist()); //匹配 stream.anyMatch(); //聚合 stream.max(Comparator.comparing(x)); //對映 stream.map(x->x+10).collection(Collectors.tolist()); //分組 stream.collection(Collectors.groupingBy(x->x>100));