要避免重复值问题,可以采取以下方法:
Set<Integer> 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; i++) {
randomArr[i] = random.nextInt();
}
int nextRandom = randomArr[N - 1];
int index = random.nextInt(N - 1);
int temp = randomArr[index];
randomArr[index] = randomArr[N - 1];
randomArr[N - 1] = temp;
这样每次生成的随机数都不会重复,可以有效避免重复值问题。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:random.next该如何正确使用