" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中stream.map和stream.forEach的區(qū)別

 更新時(shí)間:2022年08月01日 15:21:26   作者:Haoo_是個(gè)程序員  
本文主要介紹了Java中stream.map和stream.forEach的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

網(wǎng)上很多關(guān)于講解這倆個(gè)區(qū)別的文章,但大多數(shù)要么不明不白,要么太復(fù)雜難理解。所以自己通俗的講一下,畢竟不會(huì)太深?yuàn)W,只是個(gè)人理解 (評(píng)論區(qū)指出了錯(cuò)誤改了一下)。

什么是 stream 流

我們?cè)谑褂眉匣驍?shù)組對(duì)元素進(jìn)行操作時(shí)往往會(huì)遇到這種情況:通過(guò)對(duì)不同類型的存儲(chǔ)元素,按照特定條件進(jìn)行查找、排序、等操作時(shí)往往會(huì)寫一大段代碼,而且更要命的是,不同類型的數(shù)據(jù),操作的方法也不一樣,比如一個(gè)存儲(chǔ) Student 實(shí)體類和一個(gè)只存儲(chǔ) String 類型的集合倆者的操作步驟肯定大不一樣且無(wú)法通用,而 stream API 就解決了這些問(wèn)題,對(duì)數(shù)據(jù)操作時(shí)進(jìn)行了統(tǒng)一的處理。

可以這樣理解,stream API 把集合或數(shù)組里面的數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一格式,在通過(guò)指定的方法,對(duì)里面的元素進(jìn)行操作,之后將操作過(guò)后的的數(shù)據(jù)按照流的格式返回。這樣做的好處就是我們不必再關(guān)心我們操作的數(shù)據(jù)是什么類型,只需要統(tǒng)一轉(zhuǎn)換成 stearm 流進(jìn)行統(tǒng)一操作,大大簡(jiǎn)化了我們開發(fā)時(shí)的過(guò)程。

stream.map 和 stream.forEach 的區(qū)別

我們先看這倆個(gè)方法的定義??

void forEach(Consumer<? super T> action);

<R> Stream<R> map(Function<? super T, ? extends R> mapper);

即使看不懂這倆個(gè)方法定義,但你也肯定能知道 forEach 返回的 void, 而 map 返回的 Stream 類型,接下來(lái)再看這個(gè)例子??

// 定義一個(gè) Integer 類型的集合
List<Integer> numbers = Arrays.asList( 2, 3, 7,  5);
// 獲取對(duì)應(yīng)的平方數(shù)
numbers.stream().map(x-> x*x).forEach(System.out::println);
//結(jié)果: 4 9 49 25

由此可以得到結(jié)論: map 是將 number 中的每個(gè)元素進(jìn)行取值之后進(jìn)行操作,再將操作過(guò)后的每個(gè)結(jié)果返回到 number 中去,而 forEach 是一種遍歷循環(huán),通過(guò)遍歷循環(huán)執(zhí)行必要的操作,并不會(huì)把值直接返回到 number

到此這篇關(guān)于Java中stream.map和stream.forEach的區(qū)別的文章就介紹到這了,更多相關(guān)Java stream.map和stream.forEach內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

垦利县| 甘南县| 阿拉善盟| 甘孜| 茌平县| 汝阳县| 福贡县| 嘉定区| 孝义市| 分宜县| 三江| 吉水县| 天津市| 广宁县| 乌拉特后旗| 共和县| 北海市| 涿鹿县| 贺兰县| 桃源县| 博客| 水城县| 广东省| 北宁市| 海南省| 白银市| 井研县| 理塘县| 响水县| 伊吾县| 兰溪市| 大方县| 滦平县| 府谷县| 沂南县| 富阳市| 云梦县| 旌德县| 梁河县| 泰和县| 收藏|