1、用于處理記憶體中的資料
像SQL陳述句來操作資料庫一樣的形式,
2、Stream流的特點
(1)Stream流不可變,每次改變就會創建一個新的流
(2)Stream流也不會改變資料源的資料
(3)Stream的中間操作是一個延遲操作,一直到終結操作時,一起完成,
3、Stream API的使用分為三個步驟
(1)創建Stream
(2)0-n步中間操作
(3)終結操作
4、四種方式創建Stream
(1)通過Arrays.stream(陣列)

(2)通過集合物件.stream()

(3)Stream.of(…)

(4)創建無限流
Stream.generate(Supplier)
Stream.iterate(T seed,UnaryOperator)

5、中間操作:這些方法的回傳值型別還是Stream,所以可以繼續再操作
(1)filter(Predicate p):按照p的條件過濾

(2)distinct():去重復
(3)limit(long maxSize)取流中的前maxSize個
(4)skip(long n):跳過前n個
(5)peek(Consumer action):對流中的元素,挨個執行consumer介面的action操作
(6)map(Function f):對流中的每一個元素,都映射f指定的操作
(7)flatMap (Function f)
(8)sorted()
sorted(Comparator com)

6、終結操作:這些方法的回傳值型別不是Stream,所以不能繼續再操作,所以對Stream的操作就結束
一個流一旦終結就結束了,就不能用了,要再使用,需要重寫創建新的Stream
(1)forEach(Consumer c)
(2)long count()
(3)Optional
(4)0ptional
(5)boolean allMatch(Predicate p):所有都匹配
? boolean anyMatch(Predicate p):有任一個匹配
? boolean noneMatch(Predicate p):都不匹配
(6)R collect(Collector c)
Collectors 工具類提供了很多靜態方法,可以方便地創建常見收集器實體,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/98179.html
標籤:Java
下一篇:反射
