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

簡(jiǎn)單易用,還不會(huì)使用Stream流的map()方法嗎

開(kāi)發(fā) 前端
Java8 的 Stream 流 map() 方法是將流中的元素轉(zhuǎn)換為另外一個(gè)流中的元素,轉(zhuǎn)換前后兩個(gè)流的元素個(gè)數(shù)不發(fā)生改變。

哈嘍,大家好,我是指北君。

Stream API 是Java8中新加入的功能,現(xiàn)在都 Java20 了,不會(huì)還有人沒(méi)用過(guò)吧?

今天給大家演示一下 Stream API 中的 map() 方法。

前言

在日常的開(kāi)發(fā)工作中經(jīng)常碰到要處理 List 中數(shù)據(jù)的問(wèn)題,比如從一個(gè)對(duì)象集合中獲得對(duì)象中的一個(gè)屬性的集合。之前我們想到的是遍歷每個(gè)元素,然后取出來(lái)放到另外一個(gè)集合中,比較繁瑣;在 Java8 之后,對(duì)集合可以進(jìn)行 Stream 操作,使上面的處理更簡(jiǎn)潔。

概述

Stream 流式處理中有 map() 方法,先看下其定義,該方法在java.util.stream.Stream類(lèi)中

圖片

可以看到 map() 方法接收一個(gè)函數(shù)式接口參數(shù),入?yún)⒂幸粋€(gè) T ,返回一個(gè) Stream 流,這個(gè)流是 R 泛型。主要有以下幾點(diǎn)注意,

  • 入?yún)⑹且粋€(gè)流中的元素;
  • 出參是一個(gè)流,且流中是新元素;

用圖表示就是下面的樣子,原始流中有四個(gè)圓形圖案,調(diào)用 map() 函數(shù)后變成了四個(gè)五角星圖案,這里的圓形圖案和五角星圖案是一一對(duì)應(yīng)的,也就是原始流中有多少個(gè)元素,調(diào)用 map() 方法后依舊有多少個(gè)元素,唯一改變的是流中的元素類(lèi)型。

圖片

示例

我們先創(chuàng)建一個(gè)實(shí)體類(lèi) Student.java

@Data
public class Student implements Serializable {
/**
* 姓名
*/
private String name;
/**
* 班級(jí)
*/
private String schoolClass;
/**
*語(yǔ)文成績(jī)
*/
private Integer chineseScore;
/**
* 數(shù)學(xué)成績(jī)
*/
private Integer mathScore;
}

再創(chuàng)建一個(gè)初始化數(shù)據(jù)的類(lèi):

public class DataFactory {
public static List<Student> initData(){
List<Student> list= new ArrayList<>();
Student s1=new Student();
s1.setName("湯霖");
s1.setSchoolClass("小一班");
s1.setChineseScore(87);
s1.setMathScore(95);
list.add(s1);

Student s2=new Student();
s2.setName("李牧唐");
s2.setSchoolClass("小二班");
s2.setChineseScore(98);
s2.setMathScore(97);
list.add(s2);

Student s3=new Student();
s3.setName("顧北辰");
s3.setSchoolClass("二年級(jí)");
s3.setChineseScore(89);
s3.setMathScore(94);
list.add(s3);

Student s4=new Student();
s4.setName("言言");
s4.setSchoolClass("小二班");
s4.setChineseScore(100);
s4.setMathScore(90);
list.add(s4);

Student s5=new Student();
s5.setName("大運(yùn)");
s5.setSchoolClass("小三班");
s5.setChineseScore(96);
s5.setMathScore(100);
list.add(s5);
return list;
}
}

找出所有的學(xué)生姓名

public static void main(String[] args) {
DataFactory.initData().stream()
.map(student -> student.getName())
.forEach(System.out::println);
}

這里使用了 map() 方法,入?yún)⑹?Student,出參是以 String 為泛型的流,最后使用 forEach 進(jìn)行了打印,看下結(jié)果

圖片

可以看到剛好把所有的學(xué)生姓名均打印出來(lái)了。如果想把這些學(xué)生姓名放到一個(gè)List中怎么辦?

將學(xué)生姓名放到list中

public static void main(String[] args) {
//將所有的學(xué)生姓名放到list中
List<String> studentNames = DataFactory.initData().stream()
.map(student -> student.getName())
.collect(Collectors.toList());
for (String studentName : studentNames) {
System.out.println(studentName);
}
}

同樣的找出所有的班級(jí),找出所有學(xué)生的成績(jī)都可類(lèi)比上面的,可以看到打印出的學(xué)生姓名或班級(jí)是有重復(fù)數(shù)據(jù),這個(gè)要怎么解決。我們知道在最后是把數(shù)據(jù)放到 List 中,為了解決重復(fù)的問(wèn)題可以把數(shù)據(jù)放到 Set 中,利用 Set 的去重功能:

//將學(xué)生姓名放到Set中,可以實(shí)現(xiàn)去重功能
Set<String> studentNames = DataFactory.initData().stream()
.map(student -> student.getName())
.collect(Collectors.toSet());

結(jié)果不再打印,有興趣的可以自己試試。

將姓名為“湯霖”的語(yǔ)文成績(jī)置為90

現(xiàn)在有這樣一個(gè)需求,要把姓名為湯霖學(xué)生的語(yǔ)文成績(jī)置為90,看下利用 map() 函數(shù)怎么做?

public static void main(String[] args) {
List<Student> students = DataFactory.initData();

List<Student> studentNames = students.stream().map(student -> {
if ("湯霖".equals(student.getName())) {
student.setChineseScore(90);
}
return student;
}).collect(Collectors.toList());

for (Student studentName : studentNames) {
System.out.println(studentName);
}
//打印老的list
System.out.println("-----改之前的數(shù)據(jù)-----");
for (Student studentName : students) {
System.out.println(studentName);
}
}

輸出結(jié)果:

圖片

從上面的結(jié)果中可以看出,湯霖的語(yǔ)文成績(jī)的確被改為了90?,這點(diǎn)是沒(méi)錯(cuò)的。再看原數(shù)據(jù)也被改為了90,上面提到過(guò) map() 方法生成的是一個(gè)新流,原始流中的數(shù)據(jù)也被修改了,因?yàn)橄旅孢@行代碼是在原始流中元素的基礎(chǔ)上修改的引用類(lèi)型中的數(shù)據(jù),導(dǎo)致的原始流中的數(shù)據(jù)也會(huì)改。

總結(jié)

Java8 的 Stream 流 map() 方法是將流中的元素轉(zhuǎn)換為另外一個(gè)流中的元素,轉(zhuǎn)換前后兩個(gè)流的元素個(gè)數(shù)不發(fā)生改變。

責(zé)任編輯:武曉燕 來(lái)源: Java技術(shù)指北
相關(guān)推薦

2023-07-03 08:01:38

AI模型AIGC

2020-07-21 08:08:40

Nginx跨域Web項(xiàng)目

2024-11-19 08:35:49

前端開(kāi)發(fā)數(shù)組

2021-05-12 07:50:05

Linux運(yùn)維Linux系統(tǒng)

2011-05-18 09:21:55

英特爾ARM

2024-11-05 10:24:50

2020-08-13 09:37:20

Python代碼命令

2022-09-13 12:10:04

unlink刪除文件

2022-08-01 08:17:46

mysqlwindows系統(tǒng)

2016-09-18 18:27:21

KubernetesDocker

2023-08-27 21:47:15

2015-11-10 18:04:22

FileMaker

2017-05-23 14:59:54

交換機(jī)接口寬帶

2021-03-16 15:12:57

CompletableFuture機(jī)制java

2022-05-14 23:49:32

Python數(shù)據(jù)計(jì)算技巧

2019-07-18 12:24:20

開(kāi)發(fā)者技能工具

2023-05-12 07:40:01

Java8API工具

2022-06-12 16:05:22

vimLinux

2019-11-18 14:45:13

代碼開(kāi)發(fā)工具

2018-01-31 15:05:49

人工智能無(wú)人車(chē)貨幣系統(tǒng)
點(diǎn)贊
收藏

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

亚洲视频sss| 超碰91人人草人人干| 波多野结衣综合网| 男人天堂网在线观看| 秋霞国产午夜精品免费视频| www.日韩av.com| 超碰人人cao| 男人久久天堂| 亚洲欧美日韩一区| 精品无人乱码一区二区三区的优势 | 91精品国产经典在线观看| 亚洲手机成人高清视频| 蜜桃成人免费视频| 国产高清免费在线观看| 欧美亚洲一区| 欧美男插女视频| 亚洲v国产v欧美v久久久久久| 99久久久国产| 色妹子一区二区| 大胆欧美熟妇xx| www.成人.com| 99久久久久久| **亚洲第一综合导航网站| 免费的毛片视频| 欧美日韩四区| 色一情一乱一区二区| 一级特黄a大片免费| 欧美中文高清| 欧美日韩国产电影| 91av在线免费播放| 女海盗2成人h版中文字幕| 亚洲人成人一区二区在线观看| 欧美理论一区二区| 少妇高潮一区二区三区99小说| 久久99九九99精品| 国产精品美女网站| 日本视频免费观看| 国产视频欧美| 性欧美xxxx| 久久久久久久久99| 最新国产精品| 久久伊人免费视频| 可以免费看av的网址| 精品免费在线| 亚洲天堂第一页| 国产吞精囗交久久久| 成人线上播放| 亚洲福利视频网| 亚洲性图第一页| 亚洲亚洲一区二区三区| 欧美一区二区三区影视| 久久成年人网站| 深夜福利亚洲| 欧美精品乱码久久久久久| 污版视频在线观看| 91视频亚洲| 91精品婷婷国产综合久久| 国产九九在线观看| 久久av影院| 欧美性色黄大片| 色婷婷狠狠18| 国产视频一区二区在线播放| 91麻豆精品国产综合久久久久久 | 国产精品77777| 成人在线视频网| 国产永久免费视频| 国产精品羞羞答答xxdd| 国产 高清 精品 在线 a| 亚洲精品一级片| 成人av动漫在线| 精品乱码一区二区三区| 日韩精品视频无播放器在线看| www精品美女久久久tv| 欧美日韩亚洲一区二区三区四区| 国产天堂在线| 亚洲天堂免费看| 真实国产乱子伦对白视频| 欧美亚洲天堂| 欧美视频免费在线| 一区二区在线播放视频| 亚洲视频资源| 精品久久国产97色综合| 丰满少妇在线观看资源站| 欧美自拍偷拍| 欧美国产视频一区二区| 亚洲另类欧美日韩| 日本不卡视频一二三区| 亚洲影视九九影院在线观看| 蜜桃视频污在线观看| 久久久久高清精品| 精品少妇人妻av一区二区| av福利在线导航| 91久久免费观看| 91人妻一区二区三区| 九色丨蝌蚪丨成人| 色悠悠久久久久| 日本一二三区视频| 久久97超碰色| 久久久com| 麻豆tv免费在线观看| 亚洲成av人影院| xxxx一级片| 五月亚洲婷婷| 在线播放日韩欧美| 国产午夜激情视频| 久久国产精品色| 久久精品国产美女| 在线三级中文| 欧美亚洲一区二区在线观看| 亚洲欧美高清在线| 日韩欧美中字| 4388成人网| 日日夜夜精品视频免费观看| av在线亚洲天堂| 91蜜桃在线免费视频| 懂色av一区二区三区四区五区| 8x8ⅹ拨牐拨牐拨牐在线观看| 欧美图片一区二区三区| 偷偷色噜狠狠狠狠的777米奇| 久久一区91| 欧美孕妇与黑人孕交| 97精品人妻一区二区三区香蕉 | 婷婷色一区二区三区| 韩日精品在线| 91天堂在线视频| a天堂在线资源| 黑丝美女久久久| 成人高清在线观看视频| 第一sis亚洲原创| 欧美壮男野外gaytube| 不卡视频免费在线观看| 国产精品久久午夜夜伦鲁鲁| 亚洲午夜无码av毛片久久| 日韩欧美一级| 美女性感视频久久久| 中国精品一区二区| 国产日产精品一区| 丰满爆乳一区二区三区| 一区二区日韩| 成人97在线观看视频| 中文字幕一区二区人妻视频| 97se亚洲国产综合自在线| 国产aaa免费视频| 日韩欧美一级| 欧美丰满片xxx777| 亚洲第一第二区| 一区二区三区在线看| 初高中福利视频网站| 中文在线日韩| 97碰碰视频| 欧美午夜大胆人体| 精品日韩一区二区三区| 久久亚洲av午夜福利精品一区| 国产一区二区三区日韩| mm131午夜| xxxx日韩| 91a在线视频| 暖暖视频在线免费观看| 日本韩国精品一区二区在线观看| 六月婷婷七月丁香| 老妇喷水一区二区三区| 日韩电影免费观看高清完整| 亚洲精品在线影院| 色偷偷偷亚洲综合网另类| 国产又黄又大又粗的视频| 中文字幕一区二区三区蜜月| 三级网站免费看| 在线观看一区| 日韩成人在线资源| 成人亚洲精品| 孩xxxx性bbbb欧美| 日中文字幕在线| 欧美亚洲综合另类| 丰满少妇高潮久久三区| av在线不卡网| 男女污污的视频| 中文字幕一区二区三区欧美日韩| 99久久伊人精品影院| 美女av在线免费看| 伊人久久精品视频| av综合在线观看| 狠狠综合久久av一区二区小说 | 蜜臀av中文字幕| 欧美午夜无遮挡| 中文字幕在线观看二区| 国产·精品毛片| 日本在线观看a| 91亚洲国产| 黄色国产精品一区二区三区| 久久亚洲精品爱爱| 欧美精品日韩三级| 青梅竹马是消防员在线| 91精品啪在线观看国产60岁| 91香蕉在线视频| 国产精品萝li| www国产视频| 国产日韩精品视频一区二区三区| 好吊色欧美一区二区三区 | 99久久久无码国产精品性| 久久超级碰视频| 日本免费黄视频| 亚洲午夜精品一区二区国产| 九色91在线视频| 久久伊人精品| 国产精品久久在线观看| 爱情岛论坛亚洲品质自拍视频网站| 亚洲片av在线| 色欲av伊人久久大香线蕉影院| 成人影院在线| 91性高湖久久久久久久久_久久99| 新版的欧美在线视频| 操91在线视频| 国产高清在线| 日韩精品极品在线观看| 国产男女无套免费网站| 欧美在线观看视频一区二区| 久久综合久久鬼| 国产精品灌醉下药二区| 国产精品815.cc红桃| 成人中文字幕在线| 91网址在线观看精品| 日韩精品三区四区| 国产精品视频一区二区三区四区五区| 欧美一区亚洲| 国产四区在线观看| 欧美午夜精彩| 欧美日韩国产综合在线| 卡通动漫国产精品| 爱情岛论坛亚洲入口| www.久久久久爱免| 国产欧美va欧美va香蕉在线| 中文字幕一区久| 777国产偷窥盗摄精品视频| 日本在线观看高清完整版| 日韩视频免费大全中文字幕| 中国日本在线视频中文字幕| 亚洲视频视频在线| 三级在线视频| 亚洲男人天堂网| 日本电影一区二区在线观看| 亚洲激情视频在线| 日批免费在线观看| 亚洲国产91色在线| 熟妇高潮一区二区三区| 精品成人一区二区三区| 午夜精品久久久久久久第一页按摩 | 中文字幕综合一区| 福利视频在线播放| 国产亚洲在线播放| 在线免费观看黄色av| 丝袜情趣国产精品| 黄色网址视频在线观看| 久久久精品2019中文字幕神马| 精品国产白色丝袜高跟鞋| 久久精品小视频| 91在线中文| 色综合天天综合网国产成人网| 人妖欧美1区| 国产69精品久久久久9| 天堂√中文最新版在线| 欧美中文字幕在线观看| 欧美天堂视频| 91精品国产综合久久香蕉| 精品国产三级| 国产二区一区| 亚洲欧洲免费| 日韩精品伦理第一区| 91青青国产在线观看精品| 永久免费在线看片视频| 亚洲欧洲日本mm| 久久国产色av免费观看| 精品中文字幕一区二区| 日本泡妞xxxx免费视频软件| 成人国产一区二区三区精品| 欧美一区二区三区成人精品| 中文一区二区完整视频在线观看| 亚洲熟女少妇一区二区| 一区二区三区欧美亚洲| 国产三级av片| 欧美日韩日本视频| 亚洲精品国产精| 亚洲欧美成人在线| 色多多视频在线观看| 欧美激情中文网| 欧洲一级精品| 7777奇米亚洲综合久久| 小嫩嫩12欧美| 国产手机视频在线观看| 99热精品在线观看| 久久国产这里只有精品| 成人美女视频在线观看18| 亚洲自拍偷拍图| 一个色综合av| 黄色一级视频免费看| 69精品人人人人| 日本私人网站在线观看| 久久亚洲成人精品| 在线免费三级电影网站| 成人性生交大片免费看小说 | 亚洲欧美日韩天堂一区二区| 蜜桃视频在线观看www社区| 91精品国产91久久久久久吃药 | 欧美军同video69gay| 三级网站在线看| 久久高清视频免费| 桃花岛tv亚洲品质| 国产精品一国产精品最新章节| 成人羞羞视频播放网站| 五十路熟女丰满大屁股| 久久97超碰色| 女人十八毛片嫩草av| 黄色一区二区三区| 国产精品久久久国产盗摄| 亚洲男子天堂网| 黄网av在线| 91免费看片网站| 不卡中文一二三区| 六月丁香婷婷在线| jlzzjlzz亚洲日本少妇| 久久免费看少妇高潮v片特黄| 91久久奴性调教| 手机福利在线| 久久久久久久久电影| 久久丁香四色| 中文字幕日韩一区二区三区| 久久人人超碰| 日本丰满少妇裸体自慰 | 日韩精品在线观看免费| 欧美v日韩v国产v| av毛片在线免费看| 91精品久久久久久久久久久久久 | 50度灰在线观看| 精品一区二区日韩| 成年人视频软件| 日本丰满少妇一区二区三区| 天堂а√在线8种子蜜桃视频| 久久久久国产精品一区| 一区二区网站| 日本aa在线观看| 国产成都精品91一区二区三| 免费国产羞羞网站美图| 欧美久久免费观看| 欧美精品电影| 成人激情视频网| 亚洲国产老妈| 1314成人网| 亚洲免费观看高清在线观看| 国产乱色精品成人免费视频 | 国产网站在线| 精品毛片久久久久久| 99日韩精品| www.久久国产| 欧美在线观看视频一区二区三区| 国产高清av在线| 国产美女久久精品香蕉69| 欧美电影免费播放| 久久出品必属精品| 亚洲精品亚洲人成人网在线播放| 亚洲AV午夜精品| 91精品国产777在线观看| 西野翔中文久久精品字幕| 国模杨依粉嫩蝴蝶150p| 中文字幕第一区综合| ,一级淫片a看免费| 久热精品视频在线免费观看| 1769国产精品视频| 91国视频在线| 国产欧美一区二区三区鸳鸯浴 | 精品福利av导航| 国产精品伦理| 伊人久久青草| 福利一区二区在线| 国产精品国产三级国产专区52| 国产一区二区三区欧美| 精品一区二区三区亚洲| 久久久久久免费看| 国产日韩欧美综合一区| 国产毛片毛片毛片毛片毛片| 久久人91精品久久久久久不卡| 亚洲精品动态| 中文字幕日韩久久| 婷婷成人综合网| 亚洲欧美视频一区二区| 国产成人免费观看| 日韩成人精品在线| 青青草免费av| 亚洲欧美国产va在线影院| 国产麻豆精品| 欧美激情国产精品日韩| 亚洲视频1区2区| 日韩亚洲视频在线观看| 96国产粉嫩美女| 久久久久久一区二区| 国产精品 欧美激情| 亚洲免费视频在线观看| 国产在线不卡一区二区三区| 69堂免费视频| 一区二区久久久| 福利在线观看| 国内一区在线|