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

Java8 Stream流常見(jiàn)操作--持續(xù)更新中

這篇具有很好參考價(jià)值的文章主要介紹了Java8 Stream流常見(jiàn)操作--持續(xù)更新中。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、介紹Java8 Stream

Java8 Stream流是一種處理數(shù)據(jù)集合的方式,它可以對(duì)集合進(jìn)行一系列的操作,包括過(guò)濾、映射、排序等,從而實(shí)現(xiàn)對(duì)集合中元素的處理和轉(zhuǎn)換。Stream流是一種惰性求值的方式,只有在需要返回結(jié)果時(shí)才會(huì)執(zhí)行實(shí)際操作,這種方式可以提高程序的性能。

1.1 主要特點(diǎn)

  • 延遲執(zhí)行:Stream流中的操作并不會(huì)立即執(zhí)行,只有在遇到終止操作時(shí)才會(huì)觸發(fā)執(zhí)行。

  • 多次使用:同一個(gè)Stream流可以進(jìn)行多個(gè)操作,并且每個(gè)操作都是獨(dú)立的,不會(huì)影響其他操作。

  • 鏈?zhǔn)秸{(diào)用:Stream流中的操作可以進(jìn)行鏈?zhǔn)秸{(diào)用,使代碼更加簡(jiǎn)潔易懂。

  • 并行執(zhí)行:Stream流可以進(jìn)行并行操作,提高程序的性能。

1.2 主要操作

  • filter:對(duì)集合中的元素進(jìn)行過(guò)濾,返回符合條件的元素。

  • map:對(duì)集合中的元素進(jìn)行映射,返回映射后的元素集合。

  • distinct:去重操作,返回不重復(fù)的元素集合。

  • sorted:排序操作,返回按照指定規(guī)則排序后的集合。

  • limit:限制集合元素的數(shù)量,只返回指定數(shù)量的元素。

  • forEach:遍歷集合中的元素。

  • reduce:對(duì)集合中的元素進(jìn)行歸納操作,返回一個(gè)值。

  • collect:將集合中的元素轉(zhuǎn)換為另一個(gè)集合類(lèi)型,比如List、Set、Map等。

上面介紹了Java8 Stream流的特點(diǎn)和操作,下面我們來(lái)實(shí)操一下文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-666131.html

二、常見(jiàn)操作

2.1 創(chuàng)建新數(shù)組

List<Fruit> newList = fruits.stream()
    .map(f -> new Fruit(f.getId(), f.getName() + "s", f.getCountry()))
    .collect(Collectors.toList())

2.2 篩選數(shù)組

Map<Boolean, List<TransferData>> preAvg = list.stream()
        .collect(Collectors.groupingBy(x -> x.getStatus() != 3));
List<TransferData> trueList = preAvg.get(true);

2.3 篩選數(shù)組2

List<TypeAttribute> result = list.stream().filter((e) ->
   e.getIsDeleted() != 1
).collect(Collectors.toList());

2.4 篩選不為空

list.stream().filter(e -> StringUtils.isNotBlank(e.getUrl())).collect(Collectors.toList())

2.5 數(shù)組移除指定元素

dictList.removeIf(e->e.getDictKey().equals("10") );

2.6 List數(shù)組求和

long zsSum = zs.stream().reduce(Integer::sum).orElse(0);

2.7 初始化list

List<Integer> list = Stream.of(1, 2, 3).collect(Collectors.toList());

2.8 針對(duì)某個(gè)屬性對(duì)倒序

List<TransferData> sList = trueList.stream().sorted(Comparator.comparing(TransferData::getCreateTime).reversed()).collect(Collectors.toList());
List<TransferData> falseList = preAvg.get(false);

2.9 獲取數(shù)組對(duì)象的所有id

List<Long> delIds = delList.stream().map(TypeAttribute::getId).collect(Collectors.toList());

到了這里,關(guān)于Java8 Stream流常見(jiàn)操作--持續(xù)更新中的文章就介紹完了。如果您還想了解更多內(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 函數(shù)式編程stream流

    Java 8 中新增的特性旨在幫助程序員寫(xiě)出更好的代碼,其中對(duì)核心類(lèi)庫(kù)的改進(jìn)是很關(guān)鍵的一部分,也是本章的主要內(nèi)容。對(duì)核心類(lèi)庫(kù)的改進(jìn)主要包括集合類(lèi)的 API 和新引入的流(Stream),流使程序員得以站在更高的抽象層次上對(duì)集合進(jìn)行操作。下面將介紹stream流的用法。 ?場(chǎng)景

    2024年02月15日
    瀏覽(20)
  • 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-- 在Java8 Parallel Stream中如何自定義線程池?

    使用Parallel Stream時(shí),在適當(dāng)?shù)沫h(huán)境中,通過(guò)適當(dāng)?shù)厥褂貌⑿卸燃?jí)別,可以在某些情況下獲得性能提升。 如果程序創(chuàng)建一個(gè)自定義ThreadPool,必須記住調(diào)用它的shutdown()方法來(lái)避免內(nèi)存泄漏。 如下代碼示例,Parallel Stream并行處理使用的線程池是ForkJoinPool.commonPool(),這個(gè)線程池是

    2024年02月09日
    瀏覽(22)
  • Java8 Stream流處理樹(shù)形結(jié)構(gòu)數(shù)據(jù)

    參考資料 Java8新特性-使用Stream流遞歸實(shí)現(xiàn)遍歷樹(shù)形結(jié)構(gòu) ID為2,6,11的Menu 是 ID為1的Menu子節(jié)點(diǎn) ID為3,4,5的Menu 是 ID為2的Menu子節(jié)點(diǎn) ?? 注意 是下面這種寫(xiě)法的一種更簡(jiǎn)單的寫(xiě)法

    2024年02月01日
    瀏覽(21)
  • Java8 Stream 之groupingBy 分組講解

    本文主要講解:Java 8 Stream之Collectors.groupingBy()分組示例 Collectors.groupingBy() 分組之常見(jiàn)用法 功能代碼: /** ?? ? * 使用java8 stream groupingBy操作,按城市分組list ?? ? */ ?? ?public void groupingByCity() { ?? ??? ?MapString, ListEmployee map = employees.stream().collect(Collectors.groupingBy(Employee::getCi

    2024年02月13日
    瀏覽(25)
  • Java8的stream之groupingBy()分組排序

    Java8的stream之groupingBy()分組排序

    groupingBy()是Stream API中最強(qiáng)大的收集器Collector之一,提供與SQL的GROUP BY子句類(lèi)似的功能。 需要指定一個(gè)屬性才能使用,通過(guò)該屬性執(zhí)行分組。我們通過(guò)提供功能接口的實(shí)現(xiàn)來(lái)實(shí)現(xiàn)這一點(diǎn) - 通常通過(guò)傳遞lambda表達(dá)式。 TreeMap默認(rèn)按照key升序排序,collectPlan.descendingMap()可以進(jìn)行降序排

    2024年02月12日
    瀏覽(24)
  • Java8-使用stream.sorted()對(duì)List排序

    1.流的定義 Stream 中文稱(chēng)為 “流”,通過(guò)將集合轉(zhuǎn)換為這么一種叫做 “流” 的元素序列,通過(guò)聲明性方式,能夠?qū)现械拿總€(gè)元素進(jìn)行一系列并行或串行的操作! 如果流中的元素的類(lèi)實(shí)現(xiàn)了 Comparable 接口,即有自己的排序規(guī)則,那么可以直接調(diào)用 sorted() 方法對(duì)元素進(jìn)行排

    2024年02月16日
    瀏覽(93)
  • JAVA8中l(wèi)ist.stream()的一些簡(jiǎn)單使用

    為函數(shù)式編程而生。對(duì)stream的任何修改都不會(huì)修改背后的數(shù)據(jù)源,比如對(duì)stream執(zhí)行過(guò)濾操作并不會(huì)刪除被過(guò)濾的元素,而是會(huì)產(chǎn)生一個(gè)不包含被過(guò)濾元素的新stream。 stream上的操作并不會(huì)立即執(zhí)行,只有等到用戶真正需要結(jié)果的時(shí)候才會(huì)執(zhí)行。 stream只能被使用一次,一旦遍歷

    2024年02月03日
    瀏覽(23)
  • Java8中Stream流求最大值最小值

    1. stream().reduce()實(shí)現(xiàn) 2. stream().max()或stream().min()實(shí)現(xiàn) 1. stream().reduce()實(shí)現(xiàn) 2. Collectors.summarizingInt()實(shí)現(xiàn) 3. stream().max()或stream().min()實(shí)現(xiàn) 1. stream().reduce()實(shí)現(xiàn) 2. Collectors.summarizingLong()實(shí)現(xiàn) 3. stream().max()或stream().min()實(shí)現(xiàn) 1. stream().reduce()實(shí)現(xiàn) 2. Collectors.summarizingLong()實(shí)現(xiàn) 3. stream().max(

    2024年01月17日
    瀏覽(29)
  • Java8使用Stream流實(shí)現(xiàn)List列表簡(jiǎn)單使用

    Java8使用Stream流實(shí)現(xiàn)List列表簡(jiǎn)單使用

    ?? 目錄 1.forEach() 2.filter(T - boolean) 3.findAny()和findFirst() 4.map(T - R) 和flatMap(T - stream) 5.distinct() 去重 6.limit(long n)和skip(long n)? 7.anyMatch(T - boolean) 8.allMatch(T - boolean) 9.noneMatch(T - boolean) Java8提供了Stream(流)處理集合的關(guān)鍵抽象概念,Stream 使用一種類(lèi)似用 SQL 語(yǔ)句從數(shù)據(jù)庫(kù)查詢數(shù)

    2023年04月27日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包