Когда ты генерировать случайные числа часто бывает, что каждый сгенерированный номер должен быть уникальным. Хорошим примером является выбор номеров лотереи. Каждое число, выбранное случайным образом из диапазона (например, от 1 до 40), должно быть уникальным, иначе розыгрыш лотереи будет недействительным.
Самый простой способ выбрать уникальные случайные числа - это поместить диапазон чисел в коллекцию, называемую ArrayList. Если вы раньше не встречали ArrayList, это способ хранения набора элементов, которые не имеют фиксированного числа. Элементы - это объекты, которые можно добавлять в список или удалять из него. Например, давайте выберем номер лотереи. Нужно выбрать уникальные числа в диапазоне от 1 до 40.
Служебный класс под названием Collections предлагает различные действия, которые можно выполнять над коллекцией, например ArrayList (например, поиск элементов, поиск максимального или минимального элемента, обратный порядок элементов и скоро). Одно из действий, которое он может выполнить, - перетасовать элементы. Перестановка будет случайным образом перемещать каждый элемент в другую позицию в списке. Это делается с помощью объекта Random. Это означает, что это детерминистическая случайность, но в большинстве случаев она подходит.
Чтобы выбрать уникальные случайные числа, просто прочитайте один за другим элементы ArrayList с помощью метода get (). Он принимает позицию элемента в ArrayList в качестве параметра. Например, если программе лотереи нужно выбрать шесть номеров в диапазоне от 1 до 40: