java8新特性-Stream

java8有兩大新特性,一個是lambda,一個是Steam,記錄一下Stream表達式的學習。

1、Sream簡單介紹

Srream用來處理集合或者數組的流,可以進行查找、刪選、映射等操作,可以替換for循環。

2、注意點

①Stream 自己不會存儲元素。
②Stream 不會改變源對象。相反,他們會返回一個持有結果的新Stream。
③Stream 操作是延遲執行的。這意味着他們會等到需要結果的時候才執行,也被稱爲惰性求值。

3、Sream使用

Stream使用分爲3步驟。

①、創建Sream流(list代表集合)

list.stream() : 返回一個順序流

list.parallelStream() : 返回一個並行流、

②、中間過程(希望對集合進行的數據處理)

filter() -->可以使用lambda表達式,可以從集合中去除符合條件的的數據(用來數據過濾)

distinct()-->去重;使用集合元素的hash()和equal()方法比較元素是否相等。

limit(long maxSize) -->滿足條件的流中元素的最大值。

skip(long n) -->跳過流中的n個元素。

map()-->使用lambda表達式,對集合中的數據進行操作,返回一個新的元素

sorted()-->對流中數據排序

sorted(Comparator comp)-->對流中數據按指定排序規則排序。

③、終止操作

collect(Collector c) ->將流中數據作爲集合返回

count() -->返回流中的數量

allMatch(Predicate p) -->檢查是否匹配所有元素
anyMatch(Predicate p) -->檢查是否至少匹配一個元素
noneMatch(Predicate p) -->檢查是否沒有匹配所有元素
findFirst() -->返回第一個元素

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章