Для генерации случайных уникальных чисел в Java можно использовать различные методы. Вот несколько подходов:
- Использование набора. Вы можете использовать структуру данных Set для хранения уникальных чисел. Генерируйте случайные числа и добавляйте их в набор, пока не будет достигнуто желаемое количество уникальных чисел.
Set<Integer> uniqueNumbers = new HashSet<>();
Random random = new Random();
while (uniqueNumbers.size() < desiredCount) {
int randomNumber = random.nextInt(maxValue);
uniqueNumbers.add(randomNumber);
}
// uniqueNumbers now contains the desiredCount of unique random numbers
- Использование списка и перетасовка: создайте список, содержащий все возможные числа, перетасуйте список, а затем выберите нужное количество элементов из перетасованного списка.
List<Integer> allNumbers = new ArrayList<>();
for (int i = 0; i < maxValue; i++) {
allNumbers.add(i);
}
Collections.shuffle(allNumbers);
List<Integer> uniqueNumbers = allNumbers.subList(0, desiredCount);
<ол старт="3">
int[] numbers = new int[maxValue];
for (int i = 0; i < maxValue; i++) {
numbers[i] = i;
}
Random random = new Random();
for (int i = maxValue - 1; i > 0; i--) {
int j = random.nextInt(i + 1);
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
int[] uniqueNumbers = Arrays.copyOf(numbers, desiredCount);
Это всего лишь несколько методов генерации случайных уникальных чисел в Java. Вы можете выбрать тот, который лучше всего соответствует вашим потребностям.