Java怎么让多个随机数不重复
999+|...条评论
要生成多个不重复的随机数,可以使用集合(如Set)来保存已生成的随机数,并在生成新的随机数时进行判断。以下是一个示例:
import java.util.*;
pubpc class Main {
pubpc static void main(String[] args) {
int min = 1; // 最小值(包含)
int max = 10; // 最大值(包含)
int count = 5; // 随机数个数
Set set = new HashSet<>();
Random random = new Random();
while (set.size() < count) {
int randomNumber = random.nextInt(max - min + 1) + min;
if (!set.contains(randomNumber)) {
set.add(randomNumber);
}
}
for (int number : set) {
System.out.println(number);
}
}
}
以上代码会生成指定个数的不重复随机数。在循环中,我们使用 random.nextInt(max - min + 1) + min
来生成位于指定范围内的随机整数。然后,在将生成的随机数添加到集合之前,通过 set.contains(randomNumber)
判断该随机数是否已存在于集合中,如果不存在,则将其添加到集合中。
输出:
7
1
9
2
5
请注意,此方法适用于较小的范围和较小的生成数量。对于更大的范围或需要生成更多不重复随机数的情况,可能需要采用其他算法或数据结构来优化性能。另外,如果指定的范围比生成数量小,那么无法生成足够的不重复随机数。