package Ġcollection Ċ Ċ import Ġlambda . Person Ċ Ċ /** Ċ Ġ* Ġdesc : Ġflat Map ãĢģ flatten åĩ½æķ° ä½¿çĶ¨ æ¼Ķ ç¤º Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠCh ic la im Ġon Ġ 2 0 1 8 / 0 9 / 2 2 Ċ Ġ*/ Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġval Ġpeople Ġ= ĠlistOf < Person >( Person (" P eter ", Ġ 3 5 ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchildren Ġ= ĠlistOf < Person >( Person (" L ily ", Ġ 1 2 ), ĠPerson (" Luc y ", Ġ 8 )) ĊĠĠĠĠĠĠĠ Ġthis . children Ġ= Ġchildren ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġpeople . map ( Person :: children ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( this ) Ġ// List < List < Person >> ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// flatMap Ġvs Ġmap ĊĊĠĠĠ Ġ// map åĩ½æķ° æĬĬ æ¯ıä¸ª person çļĦ children éĽĨåĲĪ æĶ¾ åĪ° æĸ° éĽĨåĲĪ ä¸Ń ï¼Į æľĢç»Ī è¿ĶåĽŀ çļĦ è®° è¿ĩ æĺ¯ éĽĨåĲĪ åµ Į å¥Ĺ ĊĠĠĠ Ġ// flat æĺ¯ æī ģ å¹³ çļĦ æĦı æĢĿ ï¼Į flatMap æĬĬ æ¯ıä¸ª person çļĦ æ¯ıä¸ª child æĶ¾ åĪ° éĽĨåĲĪ ĊĠĠĠ Ġpeople . flatMap Ġ{ Ġit . children Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( this ) Ġ// List < Person > ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// æĪĳä»¬ ä¹Łåı¯ä»¥ æĬĬ éĽĨåĲĪ åµ Į å¥Ĺ éĢļè¿ĩ flatten åĩ½æķ° å°Ĩ åħ¶ æī ģ å¹³ åĮĸ ĊĠĠĠ Ġ// å¦Ĥ ä¸Ĭ éĿ¢çļĦ map åĩ½æķ° è¿ĶåĽŀ çļĦ List < List < Person > æī ģ å¹³ åĮĸ æĪĲ List < Person > ĊĠĠĠ Ġpeople . map ( Person :: children ). flatten (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( this ) Ġ// List < Person > ĊĠĠĠ Ġ} ĊĊ Ċ }