stream流对象的理解及使用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                stream流对象的理解及使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                我的理解:用stream流式處理數(shù)據(jù),將數(shù)據(jù)用一個一個方法去 . (點,即調用) 得到新的數(shù)據(jù)結果,可以一步達成。
有多種方式生成 Stream Source:
-  
從 Collection 和數(shù)組
 -  
- Collection.stream()
 - Collection.parallelStream()
 - Arrays.stream(T array) or Stream.of()
 
從 BufferedReader
- java.io.BufferedReader.lines()
 
 -  
靜態(tài)工廠
 -  
java.util.stream.IntStream.range()
 -  
java.nio.file.Files.walk()
 -  
自己構建
 -  
- java.util.Spliterator
 
其它
- Random.ints()
 - BitSet.stream()
 - Pattern.splitAsStream(java.lang.CharSequence)
 - JarFile.stream()
 
 
用法(以下講解常用的幾個):::
? filter
filter 對原始 Stream 進行某項測試,通過測試的元素被留下來生成一個新 Stream。
? forEach
forEach 方法接收一個 Lambda 表達式,然后在 Stream 的每一個元素上執(zhí)行該表達式。
? findFirst
這是一個 termimal 兼 short-circuiting 操作,它總是返回 Stream 的第一個元素,或者空。
這里比較重點的是它的返回值類型:Optional。這也是一個模仿 Scala 語言中的概念,作為一個容器,它可能含有某值,或者不包含。使用它的目的是盡可能避免 NullPointerException。
總結
以上是生活随笔為你收集整理的stream流对象的理解及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: form表单提交前进行ajax或js验证
 - 下一篇: 十大算法,描述+代码+演示+分析+改进(