数字の配列を持つランダムジェネレータでインデックスをランダムに選びます。既に選択されているインデックスで無駄なループを回避するためのランダムジェネレータのベストプラクティスは何ですか?これまではArrayListを使って既に選択されているものを格納していましたが、最終的にこのアルゴリズムは多くの無駄なループを最終的には感じます。コードは次のとおりです。ランダムジェネレータのベストプラクティスJava
Random r = new Random();
ArrayList<Integer> found = new ArrayList<Integer>();
while(notAllPassed){
int prediction = r.nextInt(sizeOfArray);
if(!found.contains(prediction){
found.Add(prediction);
//Do stuff
}
}
1.インデックスのリストを作成します。リストをシャッフルします。 –
@MarkoTopolnikが何を言ったのかを少し詳しく説明します(それが明らかでない場合に備えて)。シャッフルアルゴリズムを検索します。 – markbernard
@markbernard必要はありません。 'Collections.shuffle()' –