Javaで重複しないランダムな数字を生成する方法は何ですか?
Javaでは、ランダムに生成された数字を重複しないように保存するために、Setを使用することができます。具体的な手順は以下の通りです:
- 乱数を生成してSetコレクションに格納する。
- Randomクラスを使用してランダムな数値を生成する。
- Set集合に生成されたランダム数が既に存在するかどうかを判断し、存在する場合は再度生成し、重複しないランダム数を生成するまで繰り返す。
- Set集合に重複しないランダムな数値を追加する。
例えば、以下はコードのサンプルです。
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class UniqueRandomNumberGenerator {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
Random random = new Random();
while(set.size() < 10) {
int randomNumber = random.nextInt(100); // 生成0到99之间的随机数
if(!set.contains(randomNumber)) {
set.add(randomNumber);
}
}
System.out.println("随机生成的不重复数字:");
for(Integer num : set) {
System.out.println(num);
}
}
}
上記の例では、重複のない10個のランダムな数字を生成し、表示しました。必要に応じて、生成するランダム数の範囲や個数を調整することができます。