2017-05-18 JavaのCollectionsクラスのshuffleメソッドの実装を覗く ランダムオーダ ランダム 乱数 shuffle Collections Java はじめに リストをランダムに入れ替える方法を考える時にどのようにするのが実装するのがベストなのか疑問に思い、JavaのCollectionsに定義されているshuffleメソッドの実装を見てみる。 Collections.shuffle 上記のコードで実際にランダム化している箇所は以下の部分である。 リストの後ろの要素と乱数によって得たインデックスの要素をスワップしている。これを範囲を上手く調整しながらN回繰り返している。 とてもシンプルな実装で且つ計算量もO(N)とリーズナブルだ。