圖說jdk1.8新特性(4)— stream
- 2019 年 10 月 31 日
- 筆記
總述

- jdk1.8引入了
Stream
相關的API,通過該API。可以實現流式編程,使你寫代碼的時候行雲流水 Stream
使得集合的轉換變得更加簡單,原來可能需要寫多個for循環或者多個if判斷的,直接一個stream
操作就可以實現
細說



List<Integer> arr = new ArrayList<>(); arr.add(1); arr.add(2); arr.add(3); arr.add(4); arr.stream().map(i -> i*2).collect(Collectors.toList()); System.out.println(arr); arr.stream().forEach(i -> {i = i*2;}); System.out.println(arr); ---輸出為: [1, 2, 3, 4] [1, 2, 3, 4]
說明:
Stream
的用法遵循三個步驟: 創建—》轉換—》聚合Stream
的API支持對列表的多種操作,可以實現list轉map,map轉list等各種操作Stream
操作不會修改原來集合類型的值
注意點:
- 數組創建Stream應使用
Arrays.stream(brr)
, 列表創建Stream應使用list.stream()
。如果直接調用Stream.of
方法,實際上調用的是public static<T> Stream<T> of(T t)
而不是public static<T> Stream<T> of(T... values)