1. 程式人生 > 其它 >jdk1.8 Stream流

jdk1.8 Stream流

技術標籤:實習筆記整理

目錄

Stream流是什麼?

Stream流的特性?

Stream流建立

Stream流使用


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));