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

Java8中stream流的collectingAndThen方法應(yīng)用實(shí)例詳解

 更新時(shí)間:2025年03月04日 11:29:35   作者:shy好好學(xué)習(xí)  
Java8中的Stream流提供了collectingAndThen方法,用于對(duì)歸納結(jié)果進(jìn)行二次處理,文章通過User類的數(shù)據(jù)填充,演示了如何使用該方法進(jìn)行集合去重、查找最高工資員工、計(jì)算平均工資等操作,感興趣的朋友跟隨小編一起看看吧

1.方法定義:

此方法是在進(jìn)行歸納動(dòng)作結(jié)束之后,對(duì)歸納的結(jié)果進(jìn)行二次處理。

2.代碼演示:

User類準(zhǔn)備

/**
 * @desc: 用戶實(shí)體類
 * @author: shy
 * @date: 2020/12/28 12:38
 */
@Data
@AllArgsConstructor
public class User {
    //用戶Id
    int userId;
    //用戶姓名
    String userName;
    //用戶工資
    Double salary;
}

數(shù)據(jù)填充

//數(shù)據(jù)準(zhǔn)備
User user1 = new User(1, "hangman", 100d);
User user2 = new User(1, "list", 200d);
User user3 = new User(2, "wing", 200d);
User user4 = new User(2, "zeal", 100d);
User user5 = new User(3, "tuba", 300d);
List<User> userList = new ArrayList<>();
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
userList.add(user5);

1.對(duì)集合根據(jù)Id進(jìn)行去重并返回去重后的List:

//對(duì)集合的結(jié)果進(jìn)行去重
List<User> list = userList.stream()
    .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getUserId))), ArrayList::new));
System.out.println(list);

2.對(duì)集合根據(jù)Id進(jìn)行去重并返回去重后的Map:

//對(duì)集合的結(jié)果進(jìn)行去重
Map<Integer, User> userMap = userList.stream()
                .collect(Collectors.collectingAndThen(
                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getId))),
                        treeSet -> treeSet.stream().collect(Collectors.toMap(User::getId, user -> user, (u1, u2) -> u1))
                ));
        System.out.println(userMap);

3.查找工資最高的員工的姓名:

//查找工資最高的員工的姓名
String userName = userList.stream()
	.collect(Collectors.collectingAndThen(Collectors.maxBy(Comparator.comparing(User::getSalary)),(Optional<User> user) -> user.map(User::getUserName).orElse(null)));
System.out.println(userName);

4.計(jì)算用戶工資的平均值:

//計(jì)算用戶工資的平均值
Double avgSalary = userList.stream()
	.collect(Collectors.collectingAndThen(Collectors.averagingDouble(User::getSalary), Double::doubleValue));
System.out.println(avgSalary);

3.總結(jié):

通過上面的例子,我們可以熟練的使用collectingAndThen進(jìn)行歸納的結(jié)果進(jìn)行二次處理。

到此這篇關(guān)于Java8中stream流的collectingAndThen方法應(yīng)用實(shí)例的文章就介紹到這了,更多相關(guān)java8 stream流 collectingAndThen內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java統(tǒng)計(jì)字符串中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)

    Java統(tǒng)計(jì)字符串中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)

    在日常編程中,我們經(jīng)常需要處理字符串?dāng)?shù)據(jù),本文將介紹如何使用Java語言來實(shí)現(xiàn)一個(gè)簡單的程序,可以接收用戶輸入的一行字符,并分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù),希望對(duì)大家有所幫助
    2026-01-01
  • Java動(dòng)態(tài)數(shù)組Arraylist存放自定義數(shù)據(jù)類型方式

    Java動(dòng)態(tài)數(shù)組Arraylist存放自定義數(shù)據(jù)類型方式

    這篇文章主要介紹了Java動(dòng)態(tài)數(shù)組Arraylist存放自定義數(shù)據(jù)類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java 解析由String類型拼接的XML文件方法

    java 解析由String類型拼接的XML文件方法

    今天小編就為大家分享一篇java 解析由String類型拼接的XML文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 解決Spring Data Jpa 實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫表失敗問題

    解決Spring Data Jpa 實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫表失敗問題

    這篇文章主要介紹了解決Spring Data Jpa 實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫表失敗問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot整合MyBatisPlus配置動(dòng)態(tài)數(shù)據(jù)源的方法

    SpringBoot整合MyBatisPlus配置動(dòng)態(tài)數(shù)據(jù)源的方法

    這篇文章主要介紹了SpringBoot整合MyBatisPlus配置動(dòng)態(tài)數(shù)據(jù)源的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • httpclient重定向之后獲取網(wǎng)址信息示例

    httpclient重定向之后獲取網(wǎng)址信息示例

    使用HttpClient進(jìn)行127.0.0.1:8080地址的問題,然后該地址自動(dòng)重定向127.0.0.1:8080/mobserver,如何獲取該地址呢?使用HttpContext,下面是示例
    2014-02-02
  • Spring Boot 實(shí)現(xiàn)圖片上傳并回顯功能

    Spring Boot 實(shí)現(xiàn)圖片上傳并回顯功能

    本篇文章給大家分享Spring Boot 實(shí)現(xiàn)圖片上傳并回顯功能,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • 最新評(píng)論

    洛南县| 谢通门县| 扶余县| 黑水县| 泗洪县| 萍乡市| 枞阳县| 翁牛特旗| 池州市| 林口县| 吴江市| 宾阳县| 玉门市| 通辽市| 绵阳市| 瑞金市| 康保县| 高陵县| 萍乡市| 沙湾县| 巴青县| 昌邑市| 调兵山市| 博白县| 聊城市| 维西| 贵州省| 大埔县| 常熟市| 东安县| 泾阳县| 鹤壁市| 边坝县| 时尚| 尉氏县| 特克斯县| 衡山县| 凯里市| 焉耆| 德江县| 衡水市|