国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

學(xué)習(xí)Java 8 Stream,提升編碼能力!

這篇具有很好參考價(jià)值的文章主要介紹了學(xué)習(xí)Java 8 Stream,提升編碼能力!。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Java 11中提供了一組強(qiáng)大的Stream API,使得我們可以更加方便地對(duì)集合進(jìn)行過(guò)濾、排序、映射等操作。本文將介紹Java 11 Stream API的使用,包括創(chuàng)建Stream、中間操作、終止操作等內(nèi)容。

創(chuàng)建Stream

在Java 11中,可以通過(guò)多種方式創(chuàng)建Stream對(duì)象,包括從集合、數(shù)組、文件等數(shù)據(jù)源創(chuàng)建Stream。

從集合創(chuàng)建Stream

可以使用Collection接口的stream()方法或parallelStream()方法從集合創(chuàng)建Stream。

以下是一個(gè)使用stream()方法從集合創(chuàng)建Stream的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

Stream<Integer> stream = list.stream();

在上面的示例中,我們創(chuàng)建了一個(gè)名為list的List對(duì)象,并使用stream()方法從該List對(duì)象創(chuàng)建了一個(gè)Stream<Integer>對(duì)象。

從數(shù)組創(chuàng)建Stream

可以使用Arrays類的stream()方法從數(shù)組創(chuàng)建Stream。

以下是一個(gè)使用stream()方法從數(shù)組創(chuàng)建Stream的示例:

int[] array = new int[] {1, 2, 3, 4, 5};

IntStream stream = Arrays.stream(array);

在上面的示例中,我們創(chuàng)建了一個(gè)名為array的int[]數(shù)組,并使用Arrays類的stream()方法從該數(shù)組創(chuàng)建了一個(gè)IntStream對(duì)象。

從文件創(chuàng)建Stream

可以使用Files類的lines()方法從文件創(chuàng)建Stream。

以下是一個(gè)使用lines()方法從文件創(chuàng)建Stream的示例:

try {
    Stream<String> stream = Files.lines(Paths.get("filename.txt"));
} catch (IOException e) {
    // handle exception
}

在上面的示例中,我們使用Files類的lines()方法從文件中讀取每一行,并創(chuàng)建了一個(gè)Stream<String>對(duì)象。

中間操作

在Java 11中,Stream API提供了多種中間操作,包括過(guò)濾、映射、排序等操作,這些操作不會(huì)立即執(zhí)行,而是在終止操作時(shí)才會(huì)執(zhí)行。

過(guò)濾操作

可以使用filter()方法對(duì)Stream中的元素進(jìn)行過(guò)濾操作。

以下是一個(gè)使用filter()方法進(jìn)行過(guò)濾操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

Stream<Integer> stream = list.stream().filter(i -> i % 2 == 0);

在上面的示例中,我們使用filter()方法對(duì)Stream中的元素進(jìn)行過(guò)濾操作,只保留其中的偶數(shù)。

映射操作

可以使用map()方法對(duì)Stream中的元素進(jìn)行映射操作。

以下是一個(gè)使用map()方法進(jìn)行映射操作的示例:

List<String> list = Arrays.asList("apple", "banana", "orange");

Stream<Integer> stream = list.stream().map(s -> s.length());

在上面的示例中,我們使用map()方法對(duì)Stream中的字符串元素進(jìn)行映射操作,將其轉(zhuǎn)換為對(duì)應(yīng)的長(zhǎng)度。

排序操作

可以使用sorted()方法對(duì)Stream中的元素進(jìn)行排序操作。

以下是一個(gè)使用sorted()方法進(jìn)行排序操作的示例:

List<String> list = Arrays.asList("apple", "banana", "orange");

Stream<String> stream = list.stream().sorted();

在上面的示例中,我們使用sorted()方法對(duì)Stream中的字符串元素進(jìn)行排序操作,按照字典序進(jìn)行排序。

去重操作

可以使用distinct()方法對(duì)Stream中的元素進(jìn)行去重操作。

以下是一個(gè)使用distinct()方法進(jìn)行去重操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 2, 4, 5);

Stream<Integer> stream = list.stream().distinct();

在上面的示例中,我們使用distinct()方法對(duì)Stream中的整數(shù)元素進(jìn)行去重操作。

截?cái)嗖僮?/h3>

可以使用limit()方法對(duì)Stream中的元素進(jìn)行截?cái)嗖僮鳌?/span>

以下是一個(gè)使用limit()方法進(jìn)行截?cái)嗖僮鞯氖纠?/span>

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

Stream<Integer> stream = list.stream().limit(3);

在上面的示例中,我們使用limit()方法對(duì)Stream中的元素進(jìn)行截?cái)嗖僮?,只保留前三個(gè)元素。

跳過(guò)操作

可以使用skip()方法對(duì)Stream中的元素進(jìn)行跳過(guò)操作。

以下是一個(gè)使用skip()方法進(jìn)行跳過(guò)操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

Stream<Integer> stream = list.stream().skip(2);

在上面的示例中,我們使用skip()方法對(duì)Stream中的元素進(jìn)行跳過(guò)操作,跳過(guò)前兩個(gè)元素。

并行操作

可以使用parallel()方法將Stream轉(zhuǎn)換為并行Stream,從而進(jìn)行并行操作。

以下是一個(gè)使用parallel()方法進(jìn)行并行操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

Stream<Integer> stream = list.parallelStream().filter(i -> i % 2 == 0);

在上面的示例中,我們使用parallelStream()方法將Stream轉(zhuǎn)換為并行Stream,并使用filter()方法進(jìn)行過(guò)濾操作。

終止操作

在Java 11中,Stream API提供了多種終止操作,包括計(jì)數(shù)、收集、歸約等操作,這些操作會(huì)觸發(fā)中間操作的執(zhí)行,從而得到最終的結(jié)果。

計(jì)數(shù)操作

可以使用count()方法對(duì)Stream中的元素進(jìn)行計(jì)數(shù)操作。

以下是一個(gè)使用count()方法進(jìn)行計(jì)數(shù)操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

long count = list.stream().count();

在上面的示例中,我們使用count()方法對(duì)Stream中的元素進(jìn)行計(jì)數(shù)操作,得到Stream中元素的個(gè)數(shù)。

收集操作

可以使用collect()方法對(duì)Stream中的元素進(jìn)行收集操作,將其轉(zhuǎn)換為L(zhǎng)ist、Set、Map等集合類型。

以下是一個(gè)使用collect()方法進(jìn)行收集操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

List<Integer> result = list.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());

在上面的示例中,我們使用filter()方法對(duì)Stream中的元素進(jìn)行過(guò)濾操作,然后使用collect()方法將其轉(zhuǎn)換為L(zhǎng)ist類型。

歸約操作

可以使用reduce()方法對(duì)Stream中的元素進(jìn)行歸約操作,得到一個(gè)最終的結(jié)果。

以下是一個(gè)使用reduce()方法進(jìn)行歸約操作的示例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

int sum = list.stream().reduce(0, (a, b) -> a + b);

在上面的示例中,我們使用reduce()方法對(duì)Stream中的元素進(jìn)行歸約操作,將其求和得到最終的結(jié)果。

JAVA語(yǔ)言的開發(fā)工具

JNPF快速開發(fā)平臺(tái)是一款基于SpringBoot+Vue3的全棧開發(fā)平臺(tái),采用微服務(wù)、前后端分離架構(gòu),具備java/.net雙引擎,基于可視化流程建模、表單建模、報(bào)表建模工具,快速構(gòu)建業(yè)務(wù)應(yīng)用,平臺(tái)即可本地化部署,也支持K8S部署。

應(yīng)用體驗(yàn)地址:https://www.jnpfsoft.com/?csdn,操作一下試試吧!

引擎式軟件快速開發(fā)模式,除了上述功能,還配置了圖表引擎、接口引擎、門戶引擎、組織用戶引擎等可視化功能引擎,基本實(shí)現(xiàn)頁(yè)面UI的可視化搭建。內(nèi)置有百種功能控件及使用模板,使得在拖拉拽的簡(jiǎn)單操作下,也能大限度滿足用戶個(gè)性化需求。

總結(jié)

Java 11中的Stream API提供了一組強(qiáng)大的操作,可以方便地對(duì)集合進(jìn)行處理。本文介紹了Java 11 Stream API的創(chuàng)建、中間操作和終止操作等內(nèi)容,并提供了示例代碼。希望本文能夠幫助讀者更好地理解Java 11 Stream API的使用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-649320.html

到了這里,關(guān)于學(xué)習(xí)Java 8 Stream,提升編碼能力!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java8的Stream流的學(xué)習(xí)

    Stream可以由數(shù)組或集合創(chuàng)建,對(duì)流的操作分為兩種: 中間操作,每次返回一個(gè)新的流,可以有多個(gè)。 終端操作,每個(gè)流只能進(jìn)行一次終端操作,終端操作結(jié)束后流無(wú)法再次使用。終端操作會(huì)產(chǎn)生一個(gè)新的集合或值。 stream和parallelStream的簡(jiǎn)單區(qū)分:?stream是順序流,由主線程按

    2024年02月07日
    瀏覽(26)
  • Java 8:Stream API 流式操作(學(xué)習(xí))

    Java 8 中的 Stream API 是一組用于對(duì)集合數(shù)據(jù)進(jìn)行處理的新特性;提供一種以聲明式風(fēng)格對(duì)集合進(jìn)行操作的方式,簡(jiǎn)化集合的處理,使得代碼更加簡(jiǎn)潔、優(yōu)雅,并且能夠更高效地處理數(shù)據(jù); 這種風(fēng)格將要處理的元素集合看作一種流, 流在管道中傳輸, 并且可以在管道的節(jié)點(diǎn)上進(jìn)

    2024年02月10日
    瀏覽(45)
  • 【從零開始學(xué)習(xí)JAVA | 第二十九篇】Stream流

    【從零開始學(xué)習(xí)JAVA | 第二十九篇】Stream流

    目錄 前言: Stram流: 設(shè)計(jì)目標(biāo): 使用步驟: 1.先得到一條Stream流,并把數(shù)據(jù)放上去。 2.利用Stream流中的各種API進(jìn)行操作。 使用Stream流的注意事項(xiàng): 總結(jié): ? ? ? ? 本文我們將學(xué)習(xí)Stream流,他就像流水線一樣,可以對(duì)我們要處理的對(duì)象進(jìn)行逐步處理,最終達(dá)到我們想要的效果

    2024年02月17日
    瀏覽(33)
  • 如何學(xué)習(xí)和提升軟件測(cè)試與調(diào)試的能力?

    如何學(xué)習(xí)和提升軟件測(cè)試與調(diào)試的能力?

    要學(xué)習(xí)和提升軟件測(cè)試和調(diào)試能力,可以考慮以下方法: 學(xué)習(xí)軟件測(cè)試基礎(chǔ)知識(shí): 了解軟件測(cè)試的基本概念、原則和方法??梢酝ㄟ^(guò)閱讀相關(guān)書籍、參加在線課程或培訓(xùn)來(lái)學(xué)習(xí)軟件測(cè)試的基礎(chǔ)知識(shí)。 ? 掌握測(cè)試技術(shù)和工具: 了解各種測(cè)試技術(shù),例如黑盒測(cè)試、白盒測(cè)試、功

    2024年02月11日
    瀏覽(23)
  • 基于Python機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)提升氣象、海洋、水文領(lǐng)域?qū)嵺`應(yīng)用能力

    基于Python機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)提升氣象、海洋、水文領(lǐng)域?qū)嵺`應(yīng)用能力

    查看原文 基于Python機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)提升氣象、海洋、水文領(lǐng)域?qū)嵺`應(yīng)用能力 目錄 專題一、Python軟件的安裝及入門 專題二、氣象常用科學(xué)計(jì)算庫(kù) 專題三、氣象海洋常用可視化庫(kù) 專題四、爬蟲和氣象海洋數(shù)據(jù) 專題五、氣象海洋常用插值方法 專題六、機(jī)器學(xué)習(xí)基礎(chǔ)理

    2023年04月21日
    瀏覽(23)
  • 利用ChatGPT提升編程能力:人工智能助力編程學(xué)習(xí)之路

    在本文中,我們將探討如何利用ChatGPT提升編程能力。作為一種人工智能(AI)技術(shù),ChatGPT可以為程序員在編程學(xué)習(xí)過(guò)程中提供極大的幫助。在本文中,我們將詳細(xì)分析如何通過(guò)ChatGPT提高編程水平,以及如何利用其來(lái)解決實(shí)際編程問(wèn)題。 目錄 介紹 ChatGPT概述 使用ChatGPT學(xué)習(xí)編

    2024年02月11日
    瀏覽(25)
  • 從零開始學(xué)習(xí) Java:簡(jiǎn)單易懂的入門指南之Stream流(二十七)

    從零開始學(xué)習(xí) Java:簡(jiǎn)單易懂的入門指南之Stream流(二十七)

    1.體驗(yàn)Stream流 案例需求 按照下面的要求完成集合的創(chuàng)建和遍歷 創(chuàng)建一個(gè)集合,存儲(chǔ)多個(gè)字符串元素 把集合中所有以\\\"張\\\"開頭的元素存儲(chǔ)到一個(gè)新的集合 把\\\"張\\\"開頭的集合中的長(zhǎng)度為3的元素存儲(chǔ)到一個(gè)新的集合 遍歷上一步得到的集合 原始方式示例代碼 使用Stream流示例代碼

    2024年02月08日
    瀏覽(19)
  • 【Java萬(wàn)花筒】未來(lái)編碼:深度了解Java中機(jī)器學(xué)習(xí)的核心庫(kù)

    隨著人工智能和機(jī)器學(xué)習(xí)的不斷發(fā)展,使用合適的庫(kù)成為構(gòu)建強(qiáng)大應(yīng)用的關(guān)鍵一環(huán)。本文將深入介紹幾個(gè)在Java生態(tài)系統(tǒng)中備受推崇的機(jī)器學(xué)習(xí)與人工智能庫(kù),為讀者提供全面的了解和使用指南。每個(gè)庫(kù)都有其獨(dú)特的特點(diǎn)和適用領(lǐng)域,通過(guò)學(xué)習(xí)它們,讀者將能夠更好地應(yīng)用于各

    2024年01月17日
    瀏覽(55)
  • 【論文閱讀】通過(guò)解纏繞表示學(xué)習(xí)提升領(lǐng)域泛化能力用于主題感知的作文評(píng)分

    【論文閱讀】通過(guò)解纏繞表示學(xué)習(xí)提升領(lǐng)域泛化能力用于主題感知的作文評(píng)分

    本文工作聚焦于從領(lǐng)域泛化的視角提升AES模型的泛化能力,在該情況下,目標(biāo)主題的數(shù)據(jù)在訓(xùn)練時(shí)不能被獲得。 本文提出了一個(gè)主題感知的神經(jīng)AES模型(PANN)來(lái)抽取用于作文評(píng)分的綜合的表示,包括主題無(wú)關(guān)(prompt-invariant)和主題相關(guān)(prompt-specific)的特征。 為了提升表示

    2024年02月14日
    瀏覽(26)
  • Python人工智能教學(xué)之掌握機(jī)器學(xué)習(xí)深度學(xué)習(xí)并提升實(shí)戰(zhàn)能力(共72個(gè)視頻教學(xué)+課程資料)云盤下載

    Python人工智能教學(xué)之掌握機(jī)器學(xué)習(xí)深度學(xué)習(xí)并提升實(shí)戰(zhàn)能力(共72個(gè)視頻教學(xué)+課程資料)云盤下載

    人工智能是未來(lái)的發(fā)展方向,掌握了人工智能,就掌握了錢圖。。。 Python人工智能教學(xué)之掌握機(jī)器學(xué)習(xí)深度學(xué)習(xí)并提升實(shí)戰(zhàn)能力(共72個(gè)視頻教學(xué)+課程資料) 下載地址: 鏈接:https://pan.baidu.com/s/1ryJd5PNx1tLDDU-Q6JFXPQ?pwd=n6o8 提取碼:n6o8 --來(lái)自百度網(wǎng)盤超級(jí)會(huì)員V2的分享 └─ 批

    2024年04月29日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包