Здравствуйте, читатели и разработчики, мы приветствуем всех вас в этой статье о генерации псевдослучайных чисел с помощью Java 17. В последнем выпуске Java 17 есть много обновлений API для генерации случайных чисел. С обновлением API Java 17были введеныновые типы интерфейсов, а такжеметоды для простого перечисления, поиска и создания экземпляров фабрик генераторов. Также теперь доступен новый набор реализаций генератора случайных чисел.

В этой статье мы будем генерировать случайные числа с помощью старых и новых API с полным кодом и объяснением. Итак, без дальнейших промедлений, давайте начнем с изучения старого API.

Генерация псевдослучайных чисел со старым API

В старом API мы использовали класс Random для генерации псевдослучайных чисел. Случайный класс принадлежит пакету java.util. Ниже приведен полный код для него,

В приведенном выше коде мы видим, что создается объект класса Random, а затем вызывается метод nextInt() для получения случайного числа в указанном диапазоне. Конструктор устанавливает начальное значение генератора случайных чисел в значение, которое, скорее всего, отличается от любого другого вызова. Ниже приведен вывод этого примера,

Все экземпляры класса Random являются потокобезопасными, но одновременное использование может привести к снижению производительности. Для обработки этого используется класс ThreadLocalRandom. Также в старом API доступен криптографически безопасный класс SecureRandom.

Теперь давайте взглянем на новый API,

API генератора псевдослучайных чисел в Java 17

Новый API обеспечивает улучшенный общий дизайн с новыми типами интерфейса и реализациями генератора. Со старым API было сложно переключаться между разными генераторами. В новом API добавлена ​​поддержка потоковой обработки. Новый API также удаляет повторяющийся код в классах.

Новый корневой интерфейс RandomGenerator предоставляет единый API для всех существующих и новыхгенераторов случайных чиселгенераторов случайных чисел.

В новый API был добавлен фабричный класс для генерации нескольких генераторов случайных чисел определенного алгоритма.

Теперь ниже код для генерации псевдослучайных чисел с новым API,

В приведенном выше коде мы используем RandomGenerator для создания псевдослучайных чисел. Здесь мы передаем имя генератора случайных чисел в качестве параметра.

Ниже приведен вывод для этого кода генерации случайных чисел.

Поскольку им не обязательно быть потокобезопасными, новые реализации генераторов работают быстрее по сравнению со Random (старый API).

Заключение

В этой статье мы увидели генерацию псевдослучайных чисел с использованием старого API и API Java 17. В Java 17 добавлены новые типы интерфейсов, а также новые реализации генераторов. Мы надеемся, что вы поняли эти особенности. Желаю вам всего наилучшего в кодировании.

Спасибо, что прочитали эту статью. Берегите себя и до встречи в следующей статье.