package Ġkotlin Ċ Ċ import Ġjava . util . Abstract List Ċ import Ġjava . util . Comparator Ċ Ċ // ĠTODO Ġthis Ġfunction Ġis Ġhere Ġas Ġit Ġbreaks Ġthe ĠJS Ġcompiler ; Ġlets Ġmove Ġback Ġto ĠJ Lang Iter ables Special Ġwhen Ġit Ġworks Ġagain Ġ:) Ċ Ċ /** Ċ Ġ* ĠCop ies Ġall Ġelements Ġinto Ġa Ġ[[ List ]] Ġand Ġsorts Ġit Ġby Ġvalue Ġof Ġcompare _ function ( element ) Ċ Ġ* Ċ Ġ* ĠE . g . Ġarray List (" two " Ġto Ġ 2 , Ġ" one " Ġto Ġ 1 ). sortBy ({ it ._ 2 }) Ġreturns Ġlist Ġsorted Ġby Ġsecond Ġelement Ġof Ġtuple Ċ Ġ* Ċ Ġ* Ġ@ include Function Body Ġ../../ test / Collection Test . kt ĠsortBy Ċ Ġ*/ Ċ public Ġinline Ġfun Ġ< in ĠT , ĠR : ĠComparable < in ĠR >> ĠIterable < T >. sortBy ( f : Ġ( T ) Ġ-> ĠR ): ĠList < T > Ġ{ ĊĠĠĠ Ġval Ġsorted List Ġ= Ġthis . toList () ĊĠĠĠ Ġval ĠsortBy : ĠComparator < T > Ġ= Ġcomparator < T > Ġ{( x : ĠT , Ġy : ĠT ) Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġxr Ġ= Ġf ( x ) ĊĠĠĠĠĠĠĠ Ġval Ġy r Ġ= Ġf ( y ) ĊĠĠĠĠĠĠĠ Ġxr . compareTo ( yr ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġjava . util . Collections . sort ( sort edList , ĠsortBy ) ĊĠĠĠ Ġreturn Ġsorted List Ċ } Ċ