Генерация уникальных случайных чисел с использованием Java

Когда ты генерировать случайные числа часто бывает, что каждый сгенерированный номер должен быть уникальным. Хорошим примером является выбор номеров лотереи. Каждое число, выбранное случайным образом из диапазона (например, от 1 до 40), должно быть уникальным, иначе розыгрыш лотереи будет недействительным.

Самый простой способ выбрать уникальные случайные числа - это поместить диапазон чисел в коллекцию, называемую ArrayList. Если вы раньше не встречали ArrayList, это способ хранения набора элементов, которые не имеют фиксированного числа. Элементы - это объекты, которые можно добавлять в список или удалять из него. Например, давайте выберем номер лотереи. Нужно выбрать уникальные числа в диапазоне от 1 до 40.

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

instagram viewer

Чтобы выбрать уникальные случайные числа, просто прочитайте один за другим элементы ArrayList с помощью метода get (). Он принимает позицию элемента в ArrayList в качестве параметра. Например, если программе лотереи нужно выбрать шесть номеров в диапазоне от 1 до 40: