91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDK8中的Stream怎么用

發布時間:2021-12-17 14:03:44 來源:億速云 閱讀:169 作者:小新 欄目:大數據

這篇文章主要介紹了JDK8中的Stream怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

為什么需要 Stream

Stream 作為 Java 8 的一大亮點,它與 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 對 XML 解析的 Stream,也不是 Amazon Kinesis 對大數據實時處理的 Stream。Java 8 中的 Stream 是對集合(Collection)對象功能的增強,它專注于對集合對象進行各種非常便利、高效的聚合操作(aggregate operation),或者大批量數據操作 (bulk data operation)。Stream API 借助于同樣新出現的 Lambda 表達式,極大的提高編程效率和程序可讀性。同時它提供串行和并行兩種模式進行匯聚操作,并發模式能夠充分利用多核處理器的優勢,使用 fork/join 并行方式來拆分任務和加速處理過程。通常編寫并行代碼很難而且容易出錯, 但使用 Stream API 無需編寫一行多線程的代碼,就可以很方便地寫出高性能的并發程序。所以說,Java 8 中首次出現的 java.util.stream 是一個函數式語言+多核時代綜合影響的產物。同時,理論上流的數據源可以是無限大的。

從以上介紹上(摘抄自網上= =||)可以看出:

1、JDK8中的Stream的數據源來自集合,Stream是對集合進行操作的;

2、Stream無須顯示的編寫多線程代碼就可實現并行(利用fork/join框架)。

下面就開始用代碼簡單展示下Stream的用法(主要與傳統寫法對比)。

遍歷集合

遍歷集合是對集合最常見的操作了

首先是傳統寫法:

JDK8中的Stream怎么用

然后是Stream寫法:

JDK8中的Stream怎么用

集合的遍歷看起來似乎并沒有什么太大區別,都是三行,下面換一個復雜的場景

求最大值(集合中都是int類型的值)

傳統寫法:

JDK8中的Stream怎么用

Stream寫法:

JDK8中的Stream怎么用

此時Stream的優勢就顯而易見了,首先是代碼的縮減,最主要的是語義上比第一個要清晰多了(至少我這么認為O(∩_∩)O哈哈哈~)

數據過濾:

數據過濾也是常用的操作之一,下面通過過濾集合中大于10的數來比較一下傳統寫法和Stream寫法的差別。

傳統寫法:

JDK8中的Stream怎么用

Stream寫法:

JDK8中的Stream怎么用

數據轉換

數據的轉換也是很常見的對集合的操作,下面示范一下將集合中的字符串轉成數字的操作(集合中的字符串都是數字)。

首先是傳統操作:

JDK8中的Stream怎么用

Stream操作:

JDK8中的Stream怎么用

可以看出這個操作也是很簡潔的。

除了以上幾種操作外流還能完成許多事情(許多數據庫的操作流也都可以完成),各位自己可以嘗試一下。另外需要注意的是,默認流是串行操作的,除非自己指定需要并行操作。

獲取流的途徑:

Collection.stream()-->串行流

Collection.parallelStream()-->并行流

Arrays.stream(T array) or Stream.of()-->串行流

java.util.stream.IntStream.range()-->串行流

.......

除了以上列出的幾種外還有其他的方式,不過常用的就這幾種了,能滿足日常大部分需求了。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JDK8中的Stream怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂州市| 县级市| 平果县| 莆田市| 刚察县| 扎兰屯市| 上饶县| 察哈| 甘肃省| 舟曲县| 西藏| 凤翔县| 霍林郭勒市| 德格县| 田林县| 延庆县| 来宾市| 怀仁县| 平利县| 扶沟县| 通渭县| 绥滨县| 惠东县| 九龙城区| 普兰店市| 墨脱县| 巴里| 沾化县| 建水县| 大洼县| 溧水县| 咸宁市| 屏南县| 尉氏县| 黑龙江省| 四川省| 商城县| 始兴县| 黑河市| 英超| 纳雍县|