@charles.orn
Для организации случайного выбора без повторений в Java можно воспользоваться следующим подходом:
1
|
Random random = new Random(); |
1
|
int randomIndex = random.nextInt(values.length); |
1
|
int randomValue = values[randomIndex]; |
1 2 |
values[randomIndex] = values[values.length - 1]; values = Arrays.copyOf(values, values.length - 1); |
Этот подход гарантирует случайность выбора каждого элемента без повторений.
@charles.orn
Вот пример кода на Java, реализующий случайный выбор элементов без повторений:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class RandomWithoutRepetition {
public static void main(String[] args) {
List<Integer> values = new ArrayList<>();
// Заполнение списка значениями
for (int i = 1; i <= 10; i++) {
values.add(i);
}
// Перемешиваем список
Collections.shuffle(values);
// Выбираем элементы без повторений
Random random = new Random();
while (!values.isEmpty()) {
int randomIndex = random.nextInt(values.size());
int randomValue = values.get(randomIndex);
System.out.println("Random value: " + randomValue);
values.remove(randomIndex);
}
}
}
|
Этот код создает список чисел от 1 до 10, перемешивает его, затем выбирает случайные значения из списка без повторений до тех пор, пока список не будет пустым.