在Java中,可以使用Random类和HashSet来生成不重复的随机数。具体步骤如下:
- 导入Random类和HashSet类:
import java.util.Random; import java.util.HashSet;
- 创建Random对象和HashSet对象:
Random random = new Random(); HashSetset = new HashSet<>();
- 使用while循环生成随机数并添加到HashSet中,直到HashSet的大小等于所需的不重复随机数个数:
while(set.size() < desiredSize) { int randomNumber = random.nextInt(maxValue); set.add(randomNumber); }
- 将HashSet转换为数组或列表(可选):
Integer[] randomNumbersArray = set.toArray(new Integer[0]); ListrandomNumbersList = new ArrayList<>(set);
完整示例代码如下:
import java.util.Random; import java.util.HashSet; public class RandomNumberGenerator { public static void main(String[] args) { int desiredSize = 10; // 生成的随机数个数 int maxValue = https://www.yisu.com/ask/100; // 随机数的最大值> set = new HashSet<>(); while(set.size() < desiredSize) { int randomNumber = random.nextInt(maxValue); set.add(randomNumber); } Integer[] randomNumbersArray = set.toArray(new Integer[0]); System.out.println("随机数数组:"); for(int i = 0; i < randomNumbersArray.length; i++) { System.out.println(randomNumbersArray[i]); } } }
运行以上代码,会生成10个不重复的随机数并打印出来。注意,如果所需的不重复随机数个数大于最大值,可能会陷入无限循环,因此需要设置合适的最大值或增加循环条件的控制。