Javaで重複しないランダムな数字を生成する方法は何ですか?

Javaでは、ランダムに生成された数字を重複しないように保存するために、Setを使用することができます。具体的な手順は以下の通りです:

  1. 乱数を生成してSetコレクションに格納する。
  2. Randomクラスを使用してランダムな数値を生成する。
  3. Set集合に生成されたランダム数が既に存在するかどうかを判断し、存在する場合は再度生成し、重複しないランダム数を生成するまで繰り返す。
  4. 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個のランダムな数字を生成し、表示しました。必要に応じて、生成するランダム数の範囲や個数を調整することができます。

bannerAds