重複の可能性:
Javaで一意の乱数を生成する
0から1000の間の乱数を生成し、0から1000の間で生成された一意の乱数を特定のメソッドに渡し続けるにはどうすればよいですか。そのために、0から1000までの数値を生成し、0から1000までの一意の乱数をリストに挿入して、生成している乱数がすでにリストに存在するかどうかを比較できるようにしました。存在する場合は、再度生成します。しかし、どういうわけか、以下のコードは時々失敗すると思います。
public class Testing4 {
private static List<Integer> randomNumber;
private static Random r = new Random();
private static int rand;
private static int endRange = 1000;
public static void main(String args[]) throws IOException {
randomNumber = new ArrayList<Integer>();
for (int i = 1; i<= endRange; i++) {
rand = r.nextInt(endRange);
if(randomNumber.contains(rand)) {
rand = r.nextInt(endRange);
} else {
randomNumber.add(rand);
}
// Pass the unique random number between 0 and 1000 to this method
randomNumberMethod(rand);
}
}
}