ある配列からランダムな要素を選択し、ArrayLists/Collections などを使用せずに別の配列に移動することは可能ですか (配列でシャッフルを使用できない場合)? その要素が再び選択されていないことを確認しますか?null に設定することを考えましたが、削除できないようですが、わかりません。
基本的に、私myArray
はシャッフルまたはランダム化したいと考えており、ランダムな順序でそれらを1つから引き出して新しいものに追加するのが最善の方法だと考えました...
You can use Collections.shuffle(List)
to shuffle an array as well:
Integer[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Collections.shuffle(Arrays.asList(data));
System.out.println(Arrays.toString(data));
will print e.g. [6, 2, 4, 5, 10, 3, 1, 8, 9, 7].
Arrays.asList
will not create a new list, but a List interface wrapper for the array, so that changes to the list are propagated to the array as well.
Collections.shuffle()メソッドを使用してリストをシャッフルできます。
- You can use a Collection
like List
and then use shuffle()
method.
- Or if you want to stick with the Array then first you need to convert the array into List and then use shuffle() method.
Eg:
Integer[] arr = new Integer[10];
List<Integer> i = new ArrayList<Integer>(Arrays.asList());
Collections.shuffle(i);