import java.util.Arrays;
import java.util.Random;
public class UniqueRandomNumberGenerator {
public static void main(String[] args) {
int count = 5000000; // 生成500万个随机数
int[] uniqueRandomNumbers = generateUniqueRandomNumbers(count);
// 打印前10个随机数来验证
for (int i = 0; i < 10; i++) {
System.out.println(uniqueRandomNumbers[i]);
}
}
public static int[] generateUniqueRandomNumbers(int count) {
if (count > 5000000) {
throw new IllegalArgumentException("Count cannot exceed the range of 0 to 5000000.");
}
int[] numbers = new int[count];
for (int i = 0; i < count; i++) {
numbers[i] = i; // 初始化数组为0, 1, ..., count-1
}
Random random = new Random();
for (int i = count - 1; i > 0; i--) {
int index = random.nextInt(i + 1); // 生成0到i之间的随机索引
// 交换numbers[i]和numbers[index]
int temp = numbers[i];
numbers[i] = numbers[index];
numbers[index] = temp;
}
return numbers;
}
}
标签:count,index,Q2,int,5000000,numbers,public From: https://www.cnblogs.com/chaoshang8/p/18392733