import Ġjava . util .* Ċ import Ġjava . util . function . Bi Predicate Ċ Ċ fun Ġ< T , ĠC : ĠMutable Collection < T >> ĠCollection < T >. partition To ( list A : ĠC , Ġlist B : ĠC , Ġpredicate : Ġ( T ) Ġ-> ĠBoolean ) Ġ: ĠPair < C , C > Ċ { ĊĠĠĠ Ġthis . partition ( predicate ). first . to Collection ( list A ) ĊĠĠĠ Ġthis . partition ( predicate ). second . to Collection ( list B ) ĊĠĠĠ Ġreturn ĠPair ( list A , Ġlist B ) Ċ } Ċ Ċ fun Ġpartition Words And Lines () Ġ{ ĊĠĠĠ Ġval Ġ( words , Ġlines ) Ġ= ĠlistOf (" a ", Ġ" a Ġb ", Ġ" c ", Ġ" d Ġe ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. partition To ( ArrayList (), ĠArrayList ()) Ġ{ Ġs Ġ-> Ġ! s . contains (" Ġ") Ġ} ĊĠĠĠ Ġcheck ( words Ġ== ĠlistOf (" a ", Ġ" c ")) ĊĠĠĠ Ġcheck ( lines Ġ== ĠlistOf (" a Ġb ", Ġ" d Ġe ")) Ċ } Ċ Ċ fun Ġpartition Letters And Other Symbols () Ġ{ ĊĠĠĠ Ġval Ġ( letters , Ġother ) Ġ= Ġset Of (' a ', Ġ'% ', Ġ' r ', Ġ' }') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. partition To ( HashSet (), ĠHashSet ()) Ġ{ Ġc Ġ-> Ġc Ġin Ġ' a ' .. ' z ' Ġ|| Ġc Ġin Ġ' A ' .. ' Z ' Ġ} ĊĠĠĠ Ġcheck ( letters Ġ== Ġset Of (' a ', Ġ' r ')) ĊĠĠĠ Ġcheck ( other Ġ== Ġset Of ('% ', Ġ'} ')) Ċ } Ċ