package Ġcom . bk ahl ert . kom mon s . collections Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġmaximum Ġof Ġthe Ġelements Ġcontained Ġin Ġthis Ġiterable . Ċ Ġ* Ċ Ġ* ĠThrows Ġ[ NoSuch ElementException ] Ġis Ġno Ġelement Ġis Ġpresent . Ċ Ġ*/ Ċ public Ġfun Ġ< T Ġ: ĠComparable < T >> ĠIterable < T >. max OrThrow (): ĠT Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġthrow ĠNoSuch ElementException () ĊĠĠĠ Ġvar Ġmax Ġ= Ġiterator . next () ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ< Ġe ) Ġmax Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmax Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġminimum Ġof Ġthe Ġelements Ġcontained Ġin Ġthis Ġiterable . Ċ Ġ* Ċ Ġ* ĠThrows Ġ[ NoSuch ElementException ] Ġis Ġno Ġelement Ġis Ġpresent . Ċ Ġ*/ Ċ public Ġfun Ġ< T Ġ: ĠComparable < T >> ĠIterable < T >. min OrThrow (): ĠT Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġthrow ĠNoSuch ElementException () ĊĠĠĠ Ġvar Ġmin Ġ= Ġiterator . next () ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ> Ġe ) Ġmin Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmin Ċ } ĊĊ Ċ /** Ċ Ġ* ĠReturns Ġa Ġlist Ġof Ġvalues Ġbuilt Ġfrom Ġthe Ġelements Ġof Ġ` this ` Ġcollection Ġand Ġthe Ġ[ other ] Ġcollection Ġwith Ġthe Ġsame Ġindex Ċ Ġ* Ġusing Ġthe Ġprovided Ġ[ transform ] Ġfunction Ġapplied Ġto Ġeach Ġpair Ġof Ġelements . Ċ Ġ* ĠThe Ġreturned Ġlist Ġhas Ġlength Ġof Ġthe Ġlongest Ġcollection âĢĶ fill ing Ġmissing Ġvalues Ġwith Ġ[ default ]. Ċ Ġ*/ Ċ public Ġinline Ġfun Ġ< T , ĠR , ĠV > ĠIterable < T >. zip WithDefault ( other : ĠIterable < R >, Ġdefault : ĠPair < T , ĠR >, Ġtransform : Ġ( a : ĠT , Ġb : ĠR ) Ġ-> ĠV ): ĠList < V > Ġ{ ĊĠĠĠ Ġval Ġfirst Ġ= Ġiterator () ĊĠĠĠ Ġval Ġsecond Ġ= Ġother . iterator () ĊĠĠĠ Ġval Ġlist Ġ= ĠArrayList < V >( max Of ( collection Size OrDefault ( 1 0 ), Ġother . collection Size OrDefault ( 1 0 ))) ĊĠĠĠ Ġwhile Ġ( first . hasNext () Ġ|| Ġsecond . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . add ( transform ( if Ġ( first . hasNext ()) Ġfirst . next () Ġelse Ġdefault . first , Ġif Ġ( second . hasNext ()) Ġsecond . next () Ġelse Ġdefault . second )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġlist Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġsequence Ġof Ġvalues Ġbuilt Ġfrom Ġthe Ġelements Ġof Ġ` this ` Ġsequence Ġand Ġthe Ġ[ other ] Ġsequence Ġwith Ġthe Ġsame Ġindex Ċ Ġ* Ġusing Ġthe Ġprovided Ġ[ transform ] Ġfunction Ġapplied Ġto Ġeach Ġpair Ġof Ġelements . Ċ Ġ* ĠThe Ġresulting Ġsequence Ġends Ġas Ġsoon Ġas Ġthe Ġlongest Ġinput Ġsequence Ġends âĢĶ fill ing Ġmissing Ġvalues Ġwith Ġ[ default ]. Ċ Ġ* Ċ Ġ* ĠThe Ġoperation Ġis Ġ_ intermediate _ Ġand Ġ_ state less _. Ċ Ġ*/ Ċ public Ġfun Ġ< T , ĠR , ĠV > ĠSequence < T >. zip WithDefault ( other : ĠSequence < R >, Ġdefault : ĠPair < T , ĠR >, Ġtransform : Ġ( a : ĠT , Ġb : ĠR ) Ġ-> ĠV ): ĠSequence < V > Ġ{ ĊĠĠĠ Ġreturn ĠMer ging Sequence WithDefault ( this , Ġother , Ġdefault , Ġtransform ) Ċ } Ċ Ċ public Ġfun Ġ< T > ĠIterable < T >. collection Size OrDefault ( default : ĠInt ): ĠInt Ġ= Ġif Ġ( this Ġis ĠCollection <* >) Ġthis . size Ġelse Ġdefault Ċ