package Ġcom . wil lout west . kal ah ari . util Ċ Ċ import Ġjava . util . Split table Random Ċ Ċ /** Ċ Ġ* ĠApplies Ġthe ĠFish er - Y ates Ġsh uff ling Ġalgorithm Ġto Ġthis Ġmutable Ġlist , Ċ Ġ* Ġresulting Ġin Ġa Ġstatistic ally Ġrandom Ġordering Ġof Ġelements . Ċ Ġ* Ċ Ġ* Ġ@ param Ġrandom Ċ Ġ* ĠĠĠĠĠĠĠ ĠThe Ġpseudo - random Ġnumber Ġgenerator Ġto Ġuse . Ċ Ġ*/ Ċ fun Ġ< T > ĠMutable List < T >. fish er Shuffle ( random : ĠSplit table Random ) Ġ{ ĊĠĠĠ Ġfor ( i Ġin Ġthis . size Ġ- Ġ 1 Ġdown To Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchoice Ġ= Ġrandom . nextInt ( i Ġ+ Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġthis [ i ] Ġ= Ġthis [ choice ]. also Ġ{ Ġthis [ choice ] Ġ= Ġthis [ i ] Ġ} ĊĠĠĠ Ġ} Ċ }