Stream流思想:
先得到集合或者數組的Stream流(就是一根傳送帶);把元素放上去;然後就用這個Stream流簡化的API來方便的操作元素。
Stream流的三類方法:
1、獲取Stream流:創建一條流水線,並把數據流放到流水線上準備進行操作;
2、中間方法:流水線上的操作,一次操作完畢之後,還可以繼續進行其他操作;
3、終結方法:一個Stream流只能有一個終結方法,是流水線上的最後一個操作
常用的流:
Collection集合調用stream()生成流
中間方法常用的API如下:
名稱 | 說明 |
Stream<T> filter(Predicate<? super T> predicate) | 用於對流中的數據進行過濾 |
<R> Stream<R> map(Function<? super T, ? extends R> mapper) | 第一個參數原材料,第二個參數是加工後的結果 |
終結方法:
名稱 | 說明 |
void forEach(Consumer action) | 對此流的每個元素執行遍歷操作 |
long count() | 返回此流中的元素數 |
收集流:
收集String流,就是把Stream流操作後的結果數據轉回到集合或者數組中。
Stream流的收集方法:
名稱 | 方法 |
R collect(Collect collect) | 開始收集Stream流,指定收集器 |
Collectors工具類提供了具體的收集方式:
名稱 | 說明 |
public static <T> Collector toList() | 把元素收集到list集合中 |
public static <T> Collector toSet() | 把元素收集Set集合中 |
public static Collector toMap(Function keyMapper,Function valueMapper) | 把元素收集到Map集合中 |
public static <T> Colletor toArray() | 把元素收集到數組中 |