/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ċ Ġ* Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ @ file : kotlin . jvm . Jvm Mult if ile Class Ċ @ file : kotlin . jvm . Jvm Name (" Arrays Kt ") ĊĊ Ċ package Ġkotlin . collections ĊĊ Ċ /** Ċ Ġ* ĠReturns Ġa Ġsingle Ġlist Ġof Ġall Ġelements Ġfrom Ġall Ġarrays Ġin Ġthe Ġgiven Ġarray . Ċ Ġ* Ġ@ sample Ġsamples . collections . Arrays . Transform ations . flatten Array Ċ Ġ*/ Ċ public Ġfun Ġ< T > ĠArray < out ĠArray < out ĠT >> . flatten (): ĠList < T > Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= ĠArrayList < T >( sum By Ġ{ Ġit . size Ġ}) ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . addAll ( element ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġpair Ġof Ġlists , Ġwhere Ċ Ġ* Ġ* first * Ġlist Ġis Ġbuilt Ġfrom Ġthe Ġfirst Ġvalues Ġof Ġeach Ġpair Ġfrom Ġthis Ġarray , Ċ Ġ* Ġ* second * Ġlist Ġis Ġbuilt Ġfrom Ġthe Ġsecond Ġvalues Ġof Ġeach Ġpair Ġfrom Ġthis Ġarray . Ċ Ġ* Ġ@ sample Ġsamples . collections . Arrays . Transform ations . unzip Array Ċ Ġ*/ Ċ public Ġfun Ġ< T , ĠR > ĠArray < out ĠPair < T , ĠR >> . unzip (): ĠPair < List < T >, ĠList < R >> Ġ{ ĊĠĠĠ Ġval Ġlist T Ġ= ĠArrayList < T >( size ) ĊĠĠĠ Ġval Ġlist R Ġ= ĠArrayList < R >( size ) ĊĠĠĠ Ġfor Ġ( pair Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist T . add ( pair . first ) ĊĠĠĠĠĠĠĠ Ġlist R . add ( pair . second ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġlist T Ġto Ġlist R Ċ } Ċ