国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? Java Java???? Java8 Stream Api? map ? flatMap ??? ?? ??? ??

Java8 Stream Api? map ? flatMap ??? ?? ??? ??

Nov 27, 2019 pm 05:50 PM
flatMap java map

Java8 Stream Api? map ? flatMap ??? ?? ??? ??

1. ??

Java 8? ???? ?? ??? ? ?? ?? ???? ?? Stream API? ?????. ?? ??? ? ?? Stream ?? ??? map(Function super T, ?extends R> ??)? flatMap(Function super T, ?extends Stream<?extends )? ?? ??? ????. R>> ??)map(Function super T, ? extends R> mapper)flatMap(Function super T, ? extends Stream extends R>> mapper)

【推薦學(xué)習(xí):java視頻教程

2. map 操作

map 操作是將流中的元素進(jìn)行再次加工形成一個(gè)新流。這在開(kāi)發(fā)中很有用。比如我們有一個(gè)學(xué)生集合,我們需要從中提取學(xué)生的年齡以分析學(xué)生的年齡分布曲線。
放在 Java 8 之前 我們要通過(guò)新建一個(gè)集合然后通過(guò)遍歷學(xué)生集合來(lái)消費(fèi)元素中的年齡屬性?,F(xiàn)在我們通過(guò)很簡(jiǎn)單的流式操作就完成了這個(gè)需求。

示意圖:

Java8 Stream Api? map ? flatMap ??? ?? ??? ??

對(duì)應(yīng)的偽代碼:

?//?偽代碼
?List<integer>?ages=studentList.stream().map(Student::getAge).collect(Collectors.toList());</integer>

3. flatMap 操作

通過(guò)上面的例子,map 操作應(yīng)該非常好理解。那么 flatMap 是干嘛的呢? 這樣我們把上面的例子給改一下,如果是以班級(jí)為單位,提取所有班級(jí)下的所有學(xué)生的年齡以分析學(xué)生的年齡分布曲線。這時(shí)我們使用上面的方法還行得通嗎?

?List<list>>?studentGroup=?gradeList.stream().map(Grade::getStudents).collect(Collectors.toList());</list>

通過(guò)上面的一頓操作,我們只能得到每個(gè)班的學(xué)生集合的集合 List<list>></list>。 我們還需要嵌套循環(huán)才能獲取學(xué)生的年齡數(shù)據(jù),十分不便。如果我們能返回全部學(xué)生的集合 List<students></students> 就方便多了。 沒(méi)錯(cuò)!flatMap 可以搞定!

?//?flatMap?提取?List<students>??map?提取年齡
?List<integer>?ages?=?grades.stream().flatMap(grade?->?grade.getStudents().stream()).map(Student::getAge).collect(Collectors.toList());</integer></students>

正如上面的偽代碼所示,我們使用 flatMap 將所有的學(xué)生匯聚到一起。然后再使用 map 操作提取年齡。 flatMap 不同于 map 地方在于 map 只是提取屬性放入流中,而 flatMap 先提取屬性放入一個(gè)比較小的流,然后再將所有的流合并為一個(gè)流。有一種 “聚沙成塔” 的感覺(jué)。

再畫(huà)一張圖來(lái)加深理解:

Java8 Stream Api? map ? flatMap ??? ?? ??? ??

4. 總結(jié)

map 操作和 flatMap 操作一旦你熟悉了,可以非常簡(jiǎn)便地解決一些數(shù)據(jù)流的操作問(wèn)題。擴(kuò)展一下知識(shí),其實(shí)Java 8 中 不光 Stream 中存在這兩種操作,其實(shí) Optional<t></t>

[?? ??: java ??? ????

]

??2. ? ?? ????????? ??? ???? ??? ????? ??? ???? ???? ????. ?? ??? ?????. ?? ??, ?? ???? ???, ???? ??? ?? ?? ??? ???? ?? ??? ??? ???? ???.
??Java 8?? ???? ? ???? ??? ?? ?? ???? ???? ??? age ??? ???? ???. ?? ??? ?? ??? ???? ??? ?? ? ?? ??? ??????. ???????: ????Java8 Stream Api? map ? flatMap ??? ?? ??? ???????? ?? ??: ??rrreee??????3. flatMap ???????????? ?? ?? map ??? ?? ???? ??? ???. ???? flatMap? ??? ?? ???? ?? ??? ?? ?? ?? ???? ????, ?? ??? ?? ??? ??? ???? ??? ?? ?? ??? ?????. ?? ?? ??? ???? ?? ??? ?????? ??rrreee??? ??? ?? ? ?? List<list>></list>? ?? ??? ???? ??? ? ????. ?? ??? ?? ???? ???? ?? ??? ????? ?? ?? ?????. ?? ??? List<students></students> ???? ??? ? ??? ?? ? ??? ????. ???! ???? ?????! ??rrreee???? ?? ???? ? ? ??? flatMap? ???? ?? ???? ??? ????. ?? ?? map ??? ???? ??? ?????. flatMap? map? ????. map? ??? ???? ???? ?? ?? flatMap? ?? ??? ???? ? ?? ???? ????. ???? ??? ?? ?? ???? ??? ????? ?????. "??? ?? ?? ???" ??? ???. ????? ?? ??? ?? ?? ??? ?????: ????Java8 Stream Api? map ? flatMap ??? ?? ??? ??????????4. ??????????map ??? FlatMap ??? ????? ?? ???? ?? ?? ??? ? ????. ??? ?? ??? ?? ??? ? ????. ??? Java 8??? ??? ???? ?? ? ? ?? ??? Stream?? ??? Optional<t></t>?? ???? ?? ??? ?????. ????? ??? ??Java ?????? ???? ??? ????. ??? ?????! ??

? ??? Java8 Stream Api? map ? flatMap ??? ?? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
JDBC? Java? ??? ???? ??? ?????? JDBC? Java? ??? ???? ??? ?????? Aug 02, 2025 pm 12:29 PM

JDBC ????? ???? ????? ?? ?? ?? ??? ?? ?? ??? ?? ? ?? ??? ?? ?? ?? ??? ???????. 1. ????? ????? Conn.SetAutoCommit (False)?? ??????. 2. ??? ? ????? ?? ?? SQL ??? ?????. 3. ?? ??? ??? ?? Conn.commit ()?? ???? ??? ???? ???? ?? ??? ???? Conn.Rollback ()?? ??????. ???, ? ??? ???? ????, ??? ???? ????, ?? ??? ??? ?? ??? ??? ???? ? ???????. ?? ?? ?? ???? ????? ??? ???? ?? ?? ???? ???? ??? ????? ?? ??? ??? ? ?? ???? ?? ????.

Java? ??? ?? ??? ?????? Java? ??? ?? ??? ?????? Aug 02, 2025 am 02:38 AM

?? ?? ? ?? ???? ???? ?? Java.Time ???? ???? ??????. 2. LocalDate, LocalDateTime ? LocalTime? ?? ?? ??? ??? ?????. 3. () ???? ???? ?? ??? ??? ????. 4. ???/???? ??? ???? ??? ????? ??? ??????. 5. ZonedDateTime ? Zoneid? ???? ???? ??????. 6. DateTimeFormatter? ?? ?? ? ?? ?? ?? ???; 7. ??? ?? ?? ?? ??? ????? ?? ??????. ?? Java? ?? ??? ???? ??? ??? ???? Java.Timeapi ??? ?? ??? ???????.

Java ??? ?? ?? : Spring Boot vs Quarkus vs Micronaut Java ??? ?? ?? : Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pre-FormancetArtUptimeMoryUsage, Quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless sinarios.2.thyvelopecosyste,

??? ??? Java?? ??? ?????? ??? ??? Java?? ??? ?????? Aug 02, 2025 pm 01:55 PM

Java 's Garbage Collection (GC)? ???? ???? ???? ??????, ?? ? ??? ??? ? ??? ??? ??? ??? ????. 1.GC? ?? ?? (? : ?? ??, ?? ???, ?? ?? ?)?? ??? ???? ????, ?? ? ??? ??? ???? ?????. 2. ?? ???? ????? ????, ?? ?? ??? ??? ???? ?? ??? ??????. 3. ?? ?? ?? ?? : ??? ?? (Eden, S0, S1)? ?? ????? ?????. ??? ??? ?? ? MajorGC? ???? ? ??? ? ????. Metaspace? ??? ?? ???? ?????. 4. JVM? ??? GC ??? ?????. SerialGC? ??? ?? ????? ?????. ParallelGC? ???? ??????. CMS? ?? ???

?? HTTP ???? ?? ??? ?????? ?? HTTP ???? ?? ??? ?????? Aug 03, 2025 am 11:35 AM

GO? HTTP ?? ????? ?? ??, ??, ????? IP ? ?? ??? ?? ? ? ????. 1. http.handlerfunc? ???? ????? ????, 2. ??? ???? ?? ?? ??? ?? ??? ??????. ?? ?? ??? ???? ??? ?????? ??? ????? ???? ? ?????. ?? ???? ?? ?? ??, JSON ?? ?? ? ?? ID ??? ?????.

??? ???? html` ?? '??? ????? ??? ???? html` ?? '??? ????? Aug 03, 2025 am 11:07 AM

??? htmlinput ??? ???? ??? ???? ????? ??? ??? ?? ??? ???? ???? ? ????. 1. ???, ???, ??, ?? ? ??? ?? ??? ??? ?? ?? ?? ??? ???? ???? ??? ? ???? ??? ? ????. 2. HTML5? ?????? ??? ? ?? ?? ??? ?? ? ??? URL, ??, ?? ? ??? ?? ??? ??? ??????. 3. ?? ?? ? ? ??? ??? ???? ?? ??? ???? ???? ?? ???? ?? ???? ???? ?? ? ? ??? ?? ???????.

Java ?? ?? ?? : Maven vs. Gradle Java ?? ?? ?? : Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

GradleisBetTerChoiceFormostNewProjectSduetoitssuperiorflexible, Performance, and ModernToolingsupport.1.Gradle'Sgroovy/kotlindslismoreConcisENDEXPRESSIVETHANMAVEN'SVOSEXML.2.GradleOutsMaveninbuildweedweedweedweedweedweedweedweedweedweedweedweedweedweede

??? ????. ?? ??? ?? ??? ????. ?? ??? ?? Aug 02, 2025 am 06:26 AM

DEFER? ??? ???? ?? ??? ??? ???? ? ?????. ?? ??? ?? ? ? ?? ????, ??? ??? ? ?? ?? (LIFO)? ??? ?????. 1. ?? ??? ??? ? ??? ?????. 2. ?? ??? ?? ??? ??? ????? ?????. 3. ?? ? ?? ?? ??? ? ????. 4. ??? ?????? ??? ??? ???? ?????. 5. ?? ??? ???? ?? ??? ?? ??? ?????. ??? ??? ?? ?? ? ???? ???? ? ????.

See all articles