У меня проблема со случайными и массивами. У меня есть список пустой список, и я хочу добавить 8 случайных значений, но я не хочу, чтобы некоторые значения были одинаковыми. Чтобы получить случайное значение, я использую этот код:Массивы и случайное значение
for (int i = 0; i < 8; i++) {
round = random.nextInt(31);
while (temp.get(round).equals(mix)) {
round = random.nextInt(31);
}
mix.add(temp.get(round));
}
температура составляет список с 32 объектов и микс мой список, где я хочу, чтобы добавить 8 случайных значений. Но когда я иногда меняю некоторые значения, я получаю одинаковые значения. Как я могу получить случайные значения, но без дубликатов?
Вы можете преобразовать свой массив в список и использовать метод contains arraylist, чтобы проверить, присутствует ли он. Если нет, добавьте его. Else, сгенерируйте новый и повторите попытку. Преобразование в список может быть выполнено с помощью Arrays.asList() (если вы используете Java 6) –
Возможный дубликат [Уникальные случайные числа в O (1)?] (Http://stackoverflow.com/questions/196017/ Уникальные-случайные числа-в-o1) – paxdiablo