阅读量:134
要避免重复值问题,可以采取以下方法:
- 使用Set来存储已经生成过的随机数,每次生成随机数之前先检查Set中是否包含这个随机数,如果包含则重新生成一个新的随机数。
Set set = new HashSet<>();
Random random = new Random();
int nextRandom;
do {
nextRandom = random.nextInt();
} while(set.contains(nextRandom));
set.add(nextRandom);
- 可以将生成的随机数存储到一个数组中,每次生成随机数之前先从数组中随机选择一个值,并将其与数组最后一个元素进行交换,随机数的范围缩小到数组中前面的元素。
int[] randomArr = new int[N];
for (int i = 0; i < N xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed>
这样每次生成的随机数都不会重复,可以有效避免重复值问题。