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

Java8的stream之groupingBy()分組排序

這篇具有很好參考價值的文章主要介紹了Java8的stream之groupingBy()分組排序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


  • groupingBy()是Stream API中最強大的收集器Collector之一,提供與SQL的GROUP BY子句類似的功能。
  • 需要指定一個屬性才能使用,通過該屬性執(zhí)行分組。我們通過提供功能接口的實現(xiàn)來實現(xiàn)這一點 - 通常通過傳遞lambda表達式。

一、默認升序排序

stationMap = peopleList.stream().collect(Collectors.groupingBy(People::getJgId));

二、descendingMap()降序排序

stationMap = peopleList.stream().collect(Collectors.groupingBy(People::getJgId,TreeMap::new,Collectors.toList())).descendingMap();

三、總結(jié)

TreeMap默認按照key升序排序,collectPlan.descendingMap()可以進行降序排序

        List<People> peopleList = Lists.newArrayList();
        peopleList.add(new People(1, "小王", 5));
        peopleList.add(new People(1, "小李", 4));
        peopleList.add(new People(2, "小張", 3));
        peopleList.add(new People(2, "小皇", 2));
        peopleList.add(new People(2, "小劉", 1));

        //分組排序并加序號
        Map<Integer, List<People>> stationMap = new HashMap<Integer, List<People>>();
        // 使用stream流將list轉(zhuǎn)為map,key為指定字段的值
        stationMap = peopleList.stream().collect(Collectors.groupingBy(People::getJgId));
        log.info(stationMap.toString());

        stationMap = peopleList.stream().collect(Collectors.groupingBy(People::getJgId,TreeMap::new,Collectors.toList())).descendingMap();
        log.info(stationMap.toString());

stream groupby 排序,java常規(guī),數(shù)據(jù)結(jié)構(gòu)文章來源地址http://www.zghlxwxcb.cn/news/detail-531614.html

到了這里,關(guān)于Java8的stream之groupingBy()分組排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Java8用Stream流一行代碼實現(xiàn)數(shù)據(jù)分組統(tǒng)計,排序,最大值、最小值、平均值、總數(shù)、合計

    Java8用Stream流一行代碼實現(xiàn)數(shù)據(jù)分組統(tǒng)計,排序,最大值、最小值、平均值、總數(shù)、合計

    Java8對數(shù)據(jù)處理可謂十分流暢,既不改變數(shù)據(jù),又能對數(shù)據(jù)進行很好的處理,今天給大家演示下,用Java8的Stream如何對數(shù)據(jù)進行分組統(tǒng)計,排序,求和等 匯總統(tǒng)計方法 找到匯總統(tǒng)計的方法。這些方法屬于java 8的匯總統(tǒng)計類。 getAverage(): 它返回所有接受值的平均值。 getCount():

    2023年04月20日
    瀏覽(24)
  • 使用java8 新特性stream流對List<Map<String, Object>>集合進行遍歷、過濾、查詢、去重、排序、分組

    對于一個ListMapString, Object類型的數(shù)據(jù),可以使用Java 8的新特性stream流來進行遍歷、過濾、查詢、去重、排序、分組等操作。 遍歷: 過濾: 查詢: 去重: 排序: 分組:

    2024年02月10日
    瀏覽(106)
  • Java解決stream流Collectors.groupingBy 分組統(tǒng)計可能報空指針異常

    Java解決stream流Collectors.groupingBy 分組統(tǒng)計可能報空指針異常

    在使用stream流的Collectors.groupingBy做分組統(tǒng)計時(示例代碼如下) 如果統(tǒng)計的字段userName有null值則會報如下錯誤 解決方法為在統(tǒng)計之前增加一個filter方法將null值事先過濾掉。代碼如下:

    2024年02月04日
    瀏覽(41)
  • Java8使用stream流給List<Map<String,Object>>分組(多字段key)

    Java8使用 stream流 給ListMapString,Object根據(jù)字段key 分組 一、項目場景: 從已得到的List集合中,根據(jù)某一元素(這里指map的key)進行分組,篩選出需要的數(shù)據(jù)。 如果是SQL的話則使用 group by 直接實現(xiàn),代碼的方式則如下: 使用到stream流的 Collectors.groupingBy() 方法。 二、代碼實現(xiàn) 1、首

    2024年02月02日
    瀏覽(87)
  • java8集合操作(排序、取交集、并集、差集、去重并集)分組

    java8集合操作(排序、取交集、并集、差集、去重并集)分組

    一、List集合轉(zhuǎn)換成Set集合 Set@NotNull Long ids =entityList.stream().filter(e - e != null).map(UserCopyPointEntity::getPointId).collect(Collectors.toSet()); 二、集合map的循環(huán) map.forEach((k, v) - { System.out.println(k + \\\"----\\\" + v); }); 三、集合排序,名稱排序,順序排序 if (result.size() 0) { // 樓層排序, 從小到大排序

    2024年02月16日
    瀏覽(88)
  • Java8-使用stream.sorted()對List排序

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

    2024年02月16日
    瀏覽(93)
  • Java Stream 實用特性:排序、分組和 teeing

    基本數(shù)據(jù)類型排序 基本數(shù)據(jù)類型就是字符串、整型、浮點型這些,也就是要排序的列表中的元素都是這些基本類型的,比如 ListInteger 的。 下面就用一個整型列表舉例說明。 正序排序 正序排序,也可以叫做按照自然順序排序,對于整型來說就是從小到大的。 輸出結(jié)果是 [0

    2024年02月03日
    瀏覽(21)
  • Java8 Stream流List<JSONObject>通過某一屬性進行排序

    List對象 1.首先你需要list.parallelStream().sorted 進行流處理,使用parallelStream可以充分調(diào)度多核CPU。 2.使用Comparator.comparing進行排序,reversed()進行倒序排列,thenComparing進行下一個排序。 3.Comparator.comparing()里面的內(nèi)容,也是就是Object::getter,例如Test::getName 4.最后格式化為需要的格式

    2024年02月12日
    瀏覽(94)
  • java根據(jù)分組函數(shù)GroupingBy進行多個條件組合分組

    在SQL中經(jīng)常會用到分組,我們也常常遇到一些組合分組的場景。 java8分組 傳統(tǒng)寫法(單個字段分組) 場景:根據(jù) 城市 進行分組 使用的是方法引用:User::getCity 來完成分組 java8分組 傳統(tǒng)寫法(多個字段分組) 場景:根據(jù) 城市,性別進行分組 一般的寫法會是下面的這種寫法,

    2023年04月19日
    瀏覽(17)
  • Java8 - Streams flatMap()

    Java8 - Streams flatMap()

    https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html 它由一個 2 級 Stream 或一個二維數(shù)組組成 。 在 Java 8 中,我們可以使用 flatMap 將上述 2 級 Stream 轉(zhuǎn)換為 一級 Stream 或?qū)?二維數(shù)組轉(zhuǎn)換為 一維數(shù)組。 簡言之, flatmap 方法讓你把一個流中的每個值都換成另一個流,然后把所有

    2024年02月03日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包