1. <dd id="erndk"></dd>
                1. 集合流式編程

                  互聯網 2022/5/2 9:14:03

                  1. 集合流的簡介 1.1 集合的流式編程簡介 Stream流:是JDK1.8之后出現的新特性,也是JDK1.8新特性中最值得學習的特性之一。 Strem流:是對集合操作的增強,流不是集合的元素,也不是一種數據結構,他不負責數據的存儲。流更像是一個迭代器,可以遍歷集合中的每一個元素進…

                  1. 集合流的簡介

                  1.1 集合的流式編程簡介

                  Stream流:是JDK1.8之后出現的新特性,也是JDK1.8新特性中最值得學習的特性之一。

                  Strem流:是對集合操作的增強,流不是集合的元素,也不是一種數據結構,他不負責數據的存儲。流更像是一個迭代器,可以遍歷集合中的每一個元素進行處理。

                  1.2 為什么要使用集合的流式編程

                  有些時候,我們需要對集合中的元素進行操作。在這個過程中,集合的流式編程可以大幅度的簡化代碼、將集合里面的數據讀取到一個流中,對其中的數據進行操作。

                  1.3 使用流式編程的步驟

                  1. 獲取數據源(可以是集合,數組等),將其中的數據讀取到流中。
                  2. 對流中的數據進行各種各樣的處理。
                  3. 對流中的數據進行整合處理。



                  2. 數據源的獲取

                  2.1 數據源簡介

                  數據源:就是流中數據的來源。

                  特別注意:當將數據讀取到流中進行處理時,我們在流中對數據進行的處理時,不會影響數據源。

                  2.2 數據源的獲取

                  1. 方法一:
                      Stream<Integer> stream = list.stream();
                  
                  1. 方法二:
                      Stream<Integer> stream = list.parallelStream();
                  
                  1. 方法三:
                      IntStream<Integer> stream = Arrays.stream(array)
                  

                  關于stream()與parallelStream()的區別:

                      stream():獲取的數據源是串行的。
                      parallelStream():獲取的數據源是并行的。   其中集成了多個線程對流中的數據進行操作,效率更高。
                  



                  3. 處理

                  3.1 filter

                  條件過濾,僅保留流中滿足指定條件的數據,其他不滿足的數據都會被刪除掉。


                  3.2 distinct


                  3.3 sorted


                  3.4 limit和skip


                  3.5 map和flatMap




                  4. 整合處理

                  將流中的數據最終整合到一起,可以將其存入一個集合。

                  4.1 collect

                  將流中的數據收集到一起存入一個集合,對這些數據進行一些處理。

                  collect方法的參數是一個Collector接口,而且,這個接口并不是一個函數式接口,實現這個接口,可以自定義收集的規則。一般情況下,物品們不需要去自定義實現這個接口,直接用Collctors工具類即可。


                  4.2 count

                  統計流中元素的數量


                  4.3 foreach


                  4.4 max和min


                  4.5 Matching

                  • allMatch:只有當流中所有元素都滿足指定的規則時,才返回true。

                  • anyMatch:只要流中有任意元素滿足指定的規則時,就會返回true。

                  • noneMatch:只有當流中所有元素都不滿足指定的規則時,才返回true。


                  4.5 Find




                  5. Collectors工具類

                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [集合流式編程]http://www.yachtsalesaustralia.com/tech/detail-318721.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>