1. 程式人生 > >Java8新特性探索之Stream介面

Java8新特性探索之Stream介面

### 一、為什麼引入Stream流 流是一系列與特定儲存機制無關的元素——實際上,流並沒有“儲存”之說。使用流,無需迭代集合中的元素,就可以從管道提取和操作元素。這些管道通常被組合在一起,形成一系列對流進行操作的管道。 在大多數情況下,將物件儲存在集合中是為了處理他們,因此你將會發現你將程式設計的主要焦點從集合轉移到了流上,流的一個核心的好處是,它使得程式更加短小並且更易理解。當Lambda表示式和方法引用和流一起使用的時候會讓人感覺自成一體。 ### 二、如何使用Stream流 流操作的型別有三種:**建立流**,**修改流元素(中間操作 Intermediate Operations)**,**消費流元素(終端操作 Terminal Operations)** > **建立Stream流** 1. 使用`Arrays.stream()`方法建立 ```java Integer[] arr = new Integer[]{1,2,3,4,5}; Arrays.stream(arr).filter(num -> num > 3); ``` 2. 使用`Stream.of ()`方法建立 ```java Integer[] arr = new Integer[]{1,2,3,4,5}; Stream.of(arr).filter(num -> num > 3); ``` ***檢視`of()`的原始碼中得知,該方法也是呼叫了`Arrays.stream()`方法實現的*** ```java /** * Returns a sequential ordered stream whose elements are the specified values. * *