精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Stream很好,Map很酷,但答應(yīng)我別用toMap()

開發(fā) 前端
當(dāng)完成一次流處理之后需要返回一個(gè)集成對(duì)象時(shí),已經(jīng)肌肉記憶的敲下 collect(Collectors.toList()) 或者 collect(Collectors.toSet())。你可能會(huì)想,toList 和 toSet 都這么便捷順手了,當(dāng)又怎么能少得了 toMap() 呢。

在 JDK 8 中 Java 引入了讓人欲罷不能的 stream 流處理,可以說已經(jīng)成為了我日常開發(fā)中不可或缺的一部分。

當(dāng)完成一次流處理之后需要返回一個(gè)集成對(duì)象時(shí),已經(jīng)肌肉記憶的敲下 collect(Collectors.toList()) 或者 collect(Collectors.toSet())。你可能會(huì)想,toList 和 toSet 都這么便捷順手了,當(dāng)又怎么能少得了 toMap() 呢。

答應(yīng)我,一定打消你的這個(gè)想法,否則這將成為你噩夢(mèng)的開端。

什么?你不信,沒有什么比代碼讓人更痛徹心扉,讓我們直接上代碼。

讓我們先準(zhǔn)備一個(gè)用戶實(shí)體類。

@Data
@AllArgsConstructor  
public class User {  
  
    private int id;  
    
    private String name;  
}

假設(shè)有這么一個(gè)場(chǎng)景,你從數(shù)據(jù)庫讀取 User 集合,你需要將其轉(zhuǎn)為 Map 結(jié)構(gòu)數(shù)據(jù),key 和 value 分別為 user 的 id 和 name。

很快,你啪的一下就寫出了下面的代碼:

public class UserTest {
    @Test
    public void demo() {  
        List<User> userList = new ArrayList<>();
        // 模擬數(shù)據(jù)
        userList.add(new User(1, "Alex"));  
        userList.add(new User(1, "Beth"));

        Map<Integer, String> map = userList.stream()  
                .collect(Collectors.toMap(User::getId, User::getName));  
        System.out.println(map);  
    }
}

運(yùn)行程序,你已經(jīng)想好了開始怎么摸魚,結(jié)果啪的一下 IllegalStateException 報(bào)錯(cuò)就拍你臉上,你定睛一看怎么提示 Key 值重復(fù)。

作為優(yōu)秀的八股文選手,你清楚的記得 HashMap 對(duì)象 Key 重復(fù)是進(jìn)行替換。你不信邪,斷點(diǎn)一打,堆棧一看,碩大的 uniqKeys 擺在了面前,憑借四級(jí) 424 分的優(yōu)秀戰(zhàn)績(jī)你頓時(shí)菊花一緊,點(diǎn)開一看,誰家好人 map key 還要去重判斷啊。

圖片圖片

好好好,這么玩是吧,你轉(zhuǎn)身打開瀏覽器一搜,原來需要自己手動(dòng)處理重復(fù)場(chǎng)景,啪的一下你又重新改了一下代碼:

public class UserTest {
    @Test
    public void demo() {  
        List<User> userList = new ArrayList<>();
        // 模擬數(shù)據(jù)
        userList.add(new User(1, "Alex"));  
        userList.add(new User(2, null));
        
        Map<Integer, String> map = userList.stream()  
                .collect(Collectors.toMap(User::getId, User::getName, (oldData, newData) -> newData));  
        System.out.println(map);  
    }
}

再次執(zhí)行程序,你似乎已經(jīng)看到知乎的摸魚貼在向你招手了,結(jié)果啪的一下 NPE 又拍在你那笑容漸漸消失的臉上。

靜下心來,本著什么大風(fēng)大浪我沒見過的心態(tài),斷點(diǎn)堆棧一氣呵成,而下一秒你又望著代碼陷入了沉思,我是誰?我在干什么?

圖片圖片

圖片圖片

鼓起勇氣,你還不信今天就過不去這個(gè)坎了,大手一揮,又一段優(yōu)雅的代碼孕育而生。

public class UserTest {
    @Test
    public void demo() {  
        List<User> userList = new ArrayList<>();
        // 模擬數(shù)據(jù)
        userList.add(new User(1, "Alex"));  
        userList.add(new User(1, "Beth"));
        userList.add(new User(2, null));
        
        Map<Integer, String> map = userList.stream()  
                .collect(Collectors.toMap(  
                    User::getId,  
                    it -> Optional.ofNullable(it.getName()).orElse(""),  
                    (oldData, newData) -> newData)  
                );
        System.out.println(map);  
    }
}

優(yōu)雅,真是太優(yōu)雅了,又是 Stream 又是 Optional,可謂是狠狠拿捏技術(shù)博文的 G 點(diǎn)了。

這時(shí)候你回頭一看,我需要是什么來著?這 TM 不是一個(gè)循環(huán)就萬事大吉了嗎,不信邪的你回歸初心,回歸了 for 循環(huán)的懷抱,又寫了一版。

public class UserTest {
    @Test
    public void demo() {  
        List<User> userList = new ArrayList<>();
        // 模擬數(shù)據(jù)
        userList.add(new User(1, "Alex"));  
        userList.add(new User(1, "Beth"));
        userList.add(new User(2, null));
  
        Map<Integer, String> map = new HashMap<>();  
        userList.forEach(it -> {  
            map.put(it.getId(), it.getName());  
        });  
        System.out.println(map);
    }
}

看著運(yùn)行完美無缺的代碼,你一時(shí)陷入了沉思,數(shù)分鐘過去了,你刪除了 for 循環(huán),換上 Stream 與 Optional 不羈的外衣,安心的提交了代碼,這口細(xì)糠一定也要讓好同事去嘗一嘗。

責(zé)任編輯:武曉燕 來源: 程序員小富
相關(guān)推薦

2025-06-27 03:10:00

2024-11-05 10:24:50

2022-03-26 08:49:13

MySQL數(shù)據(jù)存儲(chǔ)

2018-02-06 08:42:10

永久內(nèi)存XPoint閃存

2021-01-29 11:05:50

PrintPython代碼

2016-06-12 09:48:40

2017-08-31 17:00:20

2016-05-03 09:48:58

2023-11-29 08:19:45

Go泛型缺陷

2020-09-08 08:45:39

jupyter插件代碼

2025-10-20 04:00:00

2021-09-10 08:00:00

Python機(jī)器學(xué)習(xí)開發(fā)

2021-03-17 16:53:51

IO多路

2017-12-07 11:27:30

編程開發(fā)代碼

2023-10-31 08:01:48

Mybatis參數(shù)jdbcurl?

2018-04-10 13:40:14

Kubernetes容器服務(wù)器

2025-08-22 10:28:33

RSTP無線冗余網(wǎng)絡(luò)

2025-04-09 03:00:00

簽字板代碼canvas

2021-02-07 10:17:22

項(xiàng)目架構(gòu)技術(shù)管理

2021-04-07 20:01:23

Go變量常量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

a级片在线观看免费| 久久国产精品免费观看| 亚洲影院在线播放| av伊人久久| 91麻豆精品国产91久久久久久久久| 一区二区免费电影| 亚洲免费黄色片| 亚洲专区一区二区三区| 中文字幕日韩av| 国产精品嫩草69影院| 亚洲人体视频| 亚洲人亚洲人成电影网站色| 九九九九九精品| ,一级淫片a看免费| 日韩香蕉视频| 久久久91精品国产一区不卡| 日韩片在线观看| 4438五月综合| 日韩欧美在线视频日韩欧美在线视频 | 91精品在线影院| 国产一级特黄a高潮片| 精品视频国产| 欧美精品日韩一区| 国产在线青青草| 天堂8中文在线| 国产日产精品1区| 成人18视频| 亚洲天堂国产精品| 六月婷婷一区| 国内精品400部情侣激情| 精品一区二区三孕妇视频| 狠狠久久伊人| 日韩一区二区三区四区五区六区| 干日本少妇首页| 美女尤物在线视频| 亚洲欧洲日韩一区二区三区| 欧美日韩综合久久| 天堂av资源在线| 国产成人午夜精品影院观看视频 | 久久精品无码av| 国内精品久久久久久久影视麻豆| 中文字幕亚洲一区二区三区| 亚洲精品理论片| 国产区精品视频在线观看豆花| 欧美精品久久99久久在免费线 | 精品久久久久一区| 天天操精品视频| 久久伊人国产| 精品视频在线视频| 亚洲精品中文字幕无码蜜桃| 日韩伦理在线一区| 亚洲妇女屁股眼交7| 成人毛片100部免费看| 日本在线观看www| 国产精品美女视频| 一区二区不卡在线视频 午夜欧美不卡'| 免费人成黄页在线观看忧物| 久久亚洲精精品中文字幕早川悠里| 国产精品国产精品| 好吊色一区二区三区| 国产精品99久久久久久久女警| 成人综合国产精品| 99草在线视频| 国产成人精品亚洲日本在线桃色| 亚洲一区二区三区毛片| 艳妇乳肉豪妇荡乳av| 极品美女销魂一区二区三区免费| 国产一区香蕉久久| 97国产成人无码精品久久久| 国内一区二区视频| 91久久伊人青青碰碰婷婷| 精品毛片一区二区三区| 国产成人精品亚洲日本在线桃色| 国产精品我不卡| 亚洲三区在线播放| 国产人成亚洲第一网站在线播放| 日韩成人在线资源| 日本中文字幕在线观看| 自拍偷拍欧美精品| 日韩国产成人无码av毛片| 欧美xxxx免费虐| 欧美日韩国产麻豆| 久久精品视频91| 亚洲狼人综合| 欧美变态tickle挠乳网站| 粉嫩av懂色av蜜臀av分享| 美女毛片一区二区三区四区最新中文字幕亚洲 | 日韩美女毛片| 一区二区亚洲欧洲国产日韩| 欧美风情第一页| 樱桃成人精品视频在线播放| 日韩免费在线免费观看| 国产片在线播放| 99久久精品久久久久久清纯| 四虎影院一区二区三区| 最爽无遮挡行房视频在线| 亚洲成年人影院| 久草综合在线观看| 日韩精品一区二区三区中文字幕| 亚洲激情久久久| 国内毛片毛片毛片毛片毛片| 99在线观看免费视频精品观看| 国产精品久久久久久av福利软件| av免费在线不卡| 久久久美女毛片| 2021国产视频| 日韩成人动漫| 欧美成人aa大片| 波多野结衣一二三四区| 激情综合中文娱乐网| 国产精品视频资源| 视频污在线观看| 亚洲欧洲另类国产综合| 精品久久一二三| 不卡一区视频| 一本久久综合亚洲鲁鲁| 天堂资源在线播放| 久久超碰97人人做人人爱| 免费久久99精品国产自| 欧美色图另类小说| 久久久之久亚州精品露出| 午夜亚洲国产au精品一区二区| 国内精品久久久久久久影视蜜臀 | 免费黄色网址在线| 麻豆91在线看| 久久精品日产第一区二区三区| 性生活视频软件| 永久免费看黄网站| 欧美午夜小视频| 国产精品午夜一区二区欲梦| 在线观看视频在线观看| 视频一区中文| 午夜精品久久久99热福利| 又污又黄的网站| 91蝌蚪porny| 男女私大尺度视频| 日韩精品一区二区三区中文在线| 中文字幕日韩有码| 无码人妻精品一区二区50| 白白色 亚洲乱淫| 欧美极品少妇无套实战| 亚洲一区二区av| 色先锋资源久久综合5566| 亚洲成熟少妇视频在线观看| 99久久精品免费观看| 青青草国产免费| 日本一区二区三区视频在线看| 在线观看精品国产视频| 日本a级c片免费看三区| 99久久综合国产精品| 国产乱人伦精品一区二区三区| 欧美一级在线| 日韩在线视频免费观看高清中文| 中文字幕在线日本| 久久精品无码一区二区三区| 国产91在线视频观看| 理论片一区二区在线| 69av在线视频| 欧美新色视频| 色综合久久综合中文综合网| 男女黄床上色视频| 性xx色xx综合久久久xx| 欧美一区激情视频在线观看| 日韩av免费| 怡红院精品视频| 伊人影院中文字幕| 亚洲色图欧美偷拍| aaaaaaaa毛片| 中文字幕日韩欧美精品高清在线| 亚洲综合中文字幕68页| 欧美hdxxxx| 亚洲精品国产精品自产a区红杏吧| 男人的天堂一区二区| 91小视频在线观看| 爆乳熟妇一区二区三区霸乳| 色琪琪久久se色| 91视频99| 筱崎爱全乳无删减在线观看| 亚洲天堂av图片| 91在线视频国产| 亚洲色图欧美在线| 黄色污在线观看| 日韩精品视频网站| 好吊色这里只有精品| 白嫩白嫩国产精品| 国产黑人绿帽在线第一区| 在线免费观看黄色av| 日韩欧美综合在线| 欧美国产成人精品一区二区三区| 日本一区二区成人| 女教师高潮黄又色视频| 夜夜爽av福利精品导航| 亚洲电影一二三区| 18国产精品| 国产精品91在线观看| av网站大全在线| 国产丝袜一区二区三区| 国产又黄又大又爽| 红桃av永久久久| 五月婷婷综合激情网| 成人av午夜电影| 蜜臀一区二区三区精品免费视频| 精品电影一区| 亚洲一区二区三区在线观看视频| www.成人网| 国产精品视频一区二区高潮| 久草在线视频福利| 这里只有精品视频| 无码国产精品一区二区色情男同| 欧美精品丝袜久久久中文字幕| 日本少妇在线观看| 中文字幕亚洲在| 一级片手机在线观看| 国产成人av一区| 爱爱爱爱免费视频| 亚洲天堂久久| 精品一区二区成人精品| 久久国产日本精品| 免费久久精品视频| 6080yy午夜一二三区久久| www日韩在线| 91麻豆国产精品久久| 亚洲精品性视频| 久久性天堂网| 无码人妻丰满熟妇区96| 欧美oldwomenvideos| 日韩电影免费一区| 欧美xxxx18国产| 深夜福利视频在线免费观看| 日韩一区和二区| 伊人网站在线观看| 欧美性色视频在线| 日本网站免费观看| 一区二区三区在线观看网站| 亚洲黄色小视频在线观看| 男生草女生视频| 国产精品大片免费观看| 一区二区三区观看| 精品一区av| 欧美国产二区| 成黄免费在线| 国产日韩欧美在线一区| 一边摸一边做爽的视频17国产| 精品在线观看视频| 欧美性猛交xxx乱久交| 日韩精品五月天| 天天干在线影院| 久久精品日产第一区二区| 精品国产免费av| 日本三级欧美三级| 久久久久久爱| 97国产一区二区精品久久呦| 日本h片在线| 精品中文字幕在线2019| a毛片在线播放| 九九热精品视频| 国产亚av手机在线观看| 久久久久九九九九| av在线网页| 欧美日韩成人精品| 热re99久久精品国99热蜜月| 国产亚洲成av人片在线观看 | www.av在线播放| 亚洲新中文字幕| aaa日本高清在线播放免费观看| 色婷婷综合久久久久中文字幕1| 淫片在线观看| 久久婷婷国产麻豆91天堂 | 久久久久久国产精品三级玉女聊斋| 亚洲高清视频一区二区| 国产一区二区三区福利| 亚洲欧美综合区自拍另类| 国产免费视频在线| 最新国产成人av网站网址麻豆| 日本在线视频网| 欧美激情欧美激情| 天堂√8在线中文| 日韩av电影国产| 黄页免费欧美| 99九九视频| www深夜成人a√在线| 久草在线资源站手机版| 九九精品在线视频| 91视频欧美| 国产精品极品在线| 榴莲视频成人app| 久草精品电影| 日韩中文在线电影| 欧美视频在线第一页| 国产日韩1区| 国产精品久久久毛片| 国产成人精品影视| 黑人另类av| 亚洲最大成人av| 制服丝袜亚洲网站| 亚洲欧美激情国产综合久久久| 亚洲激情电影中文字幕| 成人在线免费电影| 色综合久久88色综合天天看泰| 黄频免费在线观看| 国产主播在线一区| 亚州av日韩av| 久久久久久久免费视频| 亚洲专区一区| 激情小说综合网| 国产精品视频一区二区在线观看| 国产a久久麻豆| 精品人妻互换一区二区三区| 18成人在线观看| 日韩精品一区二区亚洲av| 69成人精品免费视频| 深夜福利视频在线免费观看| 久久成人精品视频| 日韩天堂在线| 精品国产_亚洲人成在线| 97在线精品| 国产精品99久久久久久白浆小说| 催眠调教后宫乱淫校园| 国产精品久久久久久福利| 久久蜜臀中文字幕| 久久高清无码视频| 欧美日韩精品电影| 欧美日韩视频精品二区| 欧美国产视频一区二区| 欧美一级做a| 色一情一乱一伦一区二区三区丨| 亚洲欧洲日本mm| 色哟哟网站在线观看| 亚洲三级久久久| 一区二区三区www污污污网站| 亚洲色图50p| 天堂av在线网| 国产偷久久久精品专区| 欧美日韩综合| 中文字幕在线视频一区二区| 国产精品青草综合久久久久99| 中文字幕免费在线观看视频| 欧美精品一区二区三区在线播放 | 在线观看久久久久久| 国模套图日韩精品一区二区| 激情视频一区二区| 亚洲精品一级| 国产麻豆剧传媒精品国产av| 亚洲精品伦理在线| 99国产精品久久久久久久成人| 日韩性生活视频| 国产激情综合| 男人的天堂成人| 韩国av一区二区三区在线观看| 日韩三级在线观看视频| 91麻豆精品国产综合久久久久久 | 中文字幕一区二区三区在线观看| 一区二区乱子伦在线播放| 亚洲社区在线观看| 一区在线影院| 一区国产精品| 国产一区二区三区四区五区入口 | 亚洲成人免费看| 欧美熟女一区二区| 91精品成人久久| 精品一区欧美| 亚洲娇小娇小娇小| 最新欧美精品一区二区三区| www.国产黄色| 韩剧1988在线观看免费完整版| 欧美自拍视频| 99视频精品免费| 中文字幕一区二区三区乱码在线| 国产免费黄色网址| 国内免费精品永久在线视频| 偷拍视屏一区| 色哟哟精品视频| 亚洲精品乱码久久久久久久久| 性欧美18一19性猛交| 久久久亚洲影院| 亚洲人成精品久久久| 天堂社区在线视频| 亚洲欧美偷拍三级| 人人妻人人澡人人爽久久av | 国产成人精品网址| 午夜影院在线看| 中文字幕av一区中文字幕天堂 | 91激情视频在线观看| 欧美精品vⅰdeose4hd| 岛国片av在线| 久久久久资源| 久久国产精品一区二区| 欧美另类视频在线观看| 精品小视频在线| 日本午夜精品久久久久| 日韩精品一区二区免费| 国产三级精品三级| 国产免费久久久| 日本a级片电影一区二区| 久久久久久久久久久妇女| 精品人妻伦一二三区久| 欧美日韩免费在线视频| 国产高清在线a视频大全| 日韩欧美在线观看强乱免费| 国产精品资源在线观看|