日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java streams_使用JShell的Java 9 Streams API

發(fā)布時(shí)間:2023/12/3 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java streams_使用JShell的Java 9 Streams API 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java streams

這篇文章著眼于使用JShell的Java 9 Streams API。 Streams API的更改以Java 8中Streams的成功為基礎(chǔ),并引入了許多實(shí)用程序方法– takeWhile,dropWhile和iterate。 這篇文章延續(xù)了My Top Java 9功能,并使用Jshell探索了這些方法。

流API

Streams API和Lambda是Java 8最成功的功能,而Java 9的更改基于Java 8的一些新實(shí)用程序方法

jshell> Stream.of(1,2,3,4,5).takeWhile(p->p<3).forEach(System.out::print); 12

現(xiàn)在讓我們返回所有大于3的值,并且我們看到謂詞立即返回false,并且沒有任何返回值

jshell> Stream.of(1,2,3,4,5).takeWhile(p -> p > 3).forEach(System.out::print);jshell>
  • 無序列表–直到謂詞失敗的最長值列表,盡管下游可能存在滿足謂詞的值,但這些值不會(huì)返回

我們可以在下面看到,即使最后一個(gè)元素為1,列表也只返回2,而有序列表將返回1和2 –

jshell> Stream.of(2,3,6,5,1).takeWhile(p -> p < 3).forEach(System.out::print); 2

dropWhile提供與takeWhile相反的行為,因此在謂詞為true時(shí)刪除記錄。 和以前一樣,我們對(duì)排序和未排序列表也有類似的考慮。

  • 有序列表–將返回最長的記錄列表,不包括滿足謂詞的那些元素
jshell> Stream.of(1,2,3,4,5).dropWhile(p -> p < 3).forEach(System.out::print); 345
  • 無序列表–將刪除滿足謂詞的第一條記錄–
jshell> Stream.of(2,3,6,5,1).dropWhile(p -> p < 3).forEach(System.out::print); 3651jshell> Stream.of(1,2,3,5,6).dropWhile(p -> p < 3).forEach(System.out::print); 365

dropWhile / takeWhile結(jié)論

結(jié)論是,除非有副作用在代碼中是可接受的,否則在處理無序列表時(shí)需要注意。 盡管我無法想到一個(gè)可以接受無序列表的隨機(jī)元素的用例,但是我確信其中存在一些。

這以類似于for循環(huán)的方式運(yùn)行。 取一個(gè)起始值(T種子),退出條件(謂詞)
hasNext)以及是否具有下一個(gè)值(謂詞)
hasNext)

迭代方法附加了退出條件–

jshell> Stream.iterate(1, i -> i < 6, i -> i + 1).forEach(System.out::println); 1 2 3 4 5

結(jié)論

dropWhile和takeWhile為Java Streams API提供了一些有用的實(shí)用程序方法。 主要含義是您的流是有序的還是無序的。 Stream.iterate方法允許我們?cè)赟tream內(nèi)部具有for循環(huán)功能。 我期待聽到人們使用這些新方法的經(jīng)驗(yàn)。

翻譯自: https://www.javacodegeeks.com/2017/11/java-9-streams-api-using-jshell.html

java streams

總結(jié)

以上是生活随笔為你收集整理的java streams_使用JShell的Java 9 Streams API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。