package Ġcom . har ley o conn or . git desk . util Ċ Ċ import Ġjava . util . LinkedList Ċ import Ġjava . util . stream . Collectors Ċ import Ġjava . util . stream . Stream Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ inline Ġfun Ġ< re ified ĠT > ĠStream < T >. to Typed Array (): ĠArray < T > Ġ{ ĊĠĠĠ Ġ@ Suppress (" PLATFORM _ CLASS _ MAP PED _ TO _ K OT LIN ") ĊĠĠĠ Ġval Ġthis Collection Ġ= Ġthis . collect ( Collectors . toList ()) Ġas Ġjava . util . List < T > ĊĠĠĠ Ġreturn Ġthis Collection . toArray ( array Of Null s < T >( 0 )) Ġas ĠArray < T > Ċ } Ċ Ċ /** Ċ Ġ* ĠSpl its Ġthis Ġstream Ġinto Ġa Ġpair Ġof Ġstreams Ġby Ġthe Ġspecified Ġ[ predicate ]. Ċ Ġ* Ċ Ġ* ĠThis Ġis Ġimplemented Ġby Ġcollecting Ġthe Ġelements Ġinto Ġtwo Ġmutable Ġlists , Ġso Ġif Ġthis Ġstream Ġis Ġsequential Ġthe Ġorder Ġis Ċ Ġ* Ġretained . Ċ Ġ* Ċ Ġ* Ġ@ param Ġpredicate Ġthe Ġpredicate Ġto Ġdetermine Ġwhich Ġstream Ġa Ġgiven Ġelement Ġshould Ġbe Ġsplit Ġinto . ĠThis Ġshould Ġreturn Ċ Ġ* Ġ` true ` Ġif Ġthe Ġelement Ġshould Ġgo Ġin Ġthe Ġfirst Ġstream Ġor Ġ` false ` Ġif Ġit Ġshould Ġgo Ġin Ġthe Ġsecond . Ċ Ġ* Ġ@ return Ġthe Ġsplit Ġpair Ġof Ġstreams Ċ Ġ*/ Ċ fun Ġ< T > ĠStream < T >. split To Pair ( predicate : Ġ( T ) Ġ-> ĠBoolean ): ĠPair < Stream < T >, ĠStream < T >> Ġ{ ĊĠĠĠ Ġval Ġfirst Ġ= Ġmutable ListOf < T >() ĊĠĠĠ Ġval Ġsecond Ġ= Ġmutable ListOf < T >() ĊĊĠĠĠ Ġthis . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( predicate . invoke ( it )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġfirst . stream () Ġto Ġsecond . stream () Ċ } Ċ Ċ fun Ġ< E > ĠList < E >. split ( delimiter Predicate : Ġ( E ) Ġ-> ĠBoolean ): ĠList < List < E >> Ġ{ ĊĠĠĠ Ġval Ġnew Ġ= ĠLinkedList < Mutable List < E >>() ĊĠĠĠ Ġnew . add ( mutable ListOf ()) ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( delimiter Predicate ( element )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew . add ( mutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnew . peek Last (). add ( element ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnew Ċ } Ċ Ċ fun Ġ< T > ĠStream < T >. toSet (): ĠSet < T > Ġ{ ĊĠĠĠ Ġreturn Ġthis . collect ( Collectors . toSet ()) Ċ } Ċ Ċ fun Ġ< T > ĠStream < T >. to Un modifiable Set (): ĠSet < T > Ġ{ ĊĠĠĠ Ġreturn Ġthis . collect ( Collectors . to Un modifiable Set ()) Ċ } Ċ Ċ fun Ġ< T Ġ: ĠPair < K , ĠV >, ĠK , ĠV > ĠStream < T >. pairs ToMap (): ĠMap < K , ĠV > Ġ{ ĊĠĠĠ Ġreturn Ġthis . collect ( Collectors . toMap ({ Ġit . first Ġ}, Ġ{ Ġit . second Ġ})) Ċ } Ċ Ċ fun Ġ< T Ġ: ĠMap . Entry < K , ĠV >, ĠK , ĠV > ĠStream < T >. entries ToMap (): ĠMap < K , ĠV > Ġ{ ĊĠĠĠ Ġreturn Ġthis . collect ( Collectors . toMap ({ Ġit . key Ġ}, Ġ{ Ġit . value Ġ})) Ċ } Ċ