Stream流思想和常用方法


一、IO流用於讀寫;Stream流用於處理數組和集合數據;

1、傳統集合遍歷:

 

 2、使用Stream流的方式過濾:

 

其中,鏈式編程(返回值就是對象自己)中,filter使用的是Predicate函數式接口,它的唯一抽象方法是Test()布爾判斷:

 

 

遍歷方法forEach()使用的是數據消費Comsumer函數式接口唯一抽象方法是accept()方法,方法體中(lambda表達式)就是對入參數據經行處理使用就行::

 

 2、Stream流的思想: 是個生產線,只處理獲取的數據源數據,不存儲數據:

 

 其中,map步驟,映射可以改變集合元素的數據類型;

二、獲取集合的兩種方法

 

1、Collection集合的List和Set單列集合: 

 

 其中,String的底層就是一個字節數組;

2、Map雙列集合集合:

 

 3、Stream類的靜態方法of()獲取:

 

 三、Stream流的常用方法:

 

 

 其中,前面延遲方法是處理集合數據,最后終結方法是真正的改變數據元素;

 1、終結方法for each

 

 2、延遲方法 filter

 

 

 

 3、Stream是管道流,只能被消費(使用)一次;

 

 異常:

 

 4、延遲方法map方法,使用的是函數式接口function接口,的apply唯一抽象方法:

function接口的唯一抽象方法apply:

 

 

 

 5、終結方法count()

 

 6、延遲方法limit:

 

 

 

 7、延遲方法skip:

 

 

 

 8、Stream類的靜態方法concat() , 合並流

 

 9、集合元素處理實例

9.1傳統集合方式處理:

從兩個集合中選幾個String類型的name 滿足條件的元素到新集合中並創建person對象:

 

 其中,addAll是把一個集合的元素都添加到當前集合對象中;

9.2Stream流的方式

 

 其中,Stream類靜態方法concat(stream1, stream2),map方法映射,將集合中元素數據類型轉換,String應用類型轉換成Person引用類型,使用forEach() 遍歷處理終結;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM