package Ġcom . kotlin . in action . chapter _ 5 Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġw zc Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 2 / 1 1 Ċ Ġ*/ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġstrings Ġ= ĠlistOf (" abc ", Ġ" def ") ĊĠĠĠ Ġprintln (" map :" Ġ+ Ġstrings . map Ġ{ Ġit . toList () Ġ}) Ġ// Ġmap : [[ a , Ġb , Ġc ], Ġ[ d , Ġe , Ġf ]] ĊĠĠĠ Ġprintln (" flatMap : Ġ" Ġ+ Ġstrings . flatMap Ġ{ Ġit . toList () Ġ}) Ġ// Ġflat Map : Ġ[ a , Ġb , Ġc , Ġd , Ġe , Ġf ] ĊĠĠĠ Ġprintln (" my flatMap : Ġ" Ġ+ Ġstrings . my flatMap Ġ{ Ġit . toList () Ġ}) Ġ// Ġmy flatMap : Ġ[ a , Ġb , Ġc , Ġd , Ġe , Ġf ] ĊĠĠĠ Ġval Ġlist Ġ= ĠlistOf ( listOf ( 1 , Ġ 2 ), ĠlistOf ( 3 , Ġ 4 )) ĊĠĠĠ Ġprintln (" flatten :" Ġ+ Ġlist . flatten ()) Ġ// Ġflatten :[ 1 , Ġ 2 , Ġ 3 , Ġ 4 ] ĊĠĠĠ Ġprintln (" my Flatten :" Ġ+ Ġlist . my Flatten ()) Ġ// Ġflatten :[ 1 , Ġ 2 , Ġ 3 , Ġ 4 ] ĊĠĠĠ Ġval Ġlist 2 Ġ= ĠlistOf (" 1 2 ", Ġ" 3 4 ") ĊĠĠĠ Ġval Ġmap Ġ= Ġlist 2 . map Ġ{ Ġit . toList () Ġ} ĊĠĠĠ Ġprintln (" map :" Ġ+ Ġmap ) ĊĠĠĠ Ġval Ġflatten Ġ= Ġmap . flatten () ĊĠĠĠ Ġprintln (" flatten :$ flatten ") ĊĠĠĠ Ġval Ġflat Map Ġ= Ġlist 2 . flatMap Ġ{ Ġit . toList () Ġ} ĊĠĠĠ Ġprintln (" flatMap :$ flatMap ") Ċ } Ċ Ċ fun Ġ< T , ĠR > ĠIterable < T >. my flatMap ( transform : Ġ( T ) Ġ-> ĠIterable < R >): ĠList < R > Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= ĠArrayList < R >() ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġmap : Ġ åıĺ æį¢ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġtransform ( element ) ĊĠĠĠĠĠĠĠ Ġ// Ġflat : Ġ å¹³ éĵ º ĊĠĠĠĠĠĠĠ Ġresult . addAll ( list ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ fun Ġ< T > ĠIterable < Iterable < T >> . my Flatten (): ĠList < T > Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= ĠArrayList < T >() ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġflat ï¼ļ å¹³ éĵ º ĊĠĠĠĠĠĠĠ Ġresult . addAll ( element ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ /** Ċ Ġ* Ġ æĢ» ç»ĵ ï¼ļ Ċ Ġ* Ġflat Map Ġåĩ½æķ° ï¼ļ é¦ĸåħĪ æł¹æį® å®ŀ åıĤ ç»Ļ å®ļçļĦ åĩ½æķ° å¯¹ éĽĨåĲĪ ä¸ŃçļĦ æ¯ıä¸ª åħĥç´ł åģļ åıĺ æį¢ ï¼Ī æĪĸèĢħ è¯´ æĺłå°Ħ ï¼īï¼Į çĦ¶åĲİ æĬĬ å¤ļä¸ª åĪĹè¡¨ åĲĪå¹¶ ï¼Ī æĪĸèĢħ è¯´ å¹³ éĵ º ï¼ī æĪĲ ä¸Ģä¸ª åĪĹè¡¨ ãĢĤ Ċ Ġ* Ġflatten Ġåĩ½æķ° ï¼ļ æĬĬ å¤ļä¸ª åĪĹè¡¨ åĲĪå¹¶ ï¼Ī æĪĸèĢħ è¯´ å¹³ éĵ º ï¼ī æĪĲ ä¸Ģä¸ª åĪĹè¡¨ ãĢĤ Ċ Ġ* Ġflat Map Ġä¸ŃçļĦ Ġmap Ġæĺ¯ åıĺ æį¢ çļĦ æĦı æĢĿ ï¼Į ä¸įè¦ģ çĲĨè§£ ä¸º éĽĨåĲĪ ï¼Į è¿Ļ æĺ¯ä¸Ģä¸ª è¯¯ åĮº ãĢĤ Ċ Ġ*/ Ċ