Spec-Zone.ru › OpenJDK 27

Интерфейс RandomGenerator.StreamableGenerator

Все суперинтерфейсы:
RandomGenerator
Все известные подинтерфейсы:
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator
Все известные реализующие классы:
SplittableRandom
Внешний интерфейс:
RandomGenerator
public static interface RandomGenerator.StreamableGenerator extends RandomGenerator
Интерфейс RandomGenerator.StreamableGenerator расширяет интерфейс RandomGenerator, предоставляя методы, которые возвращают потоки объектов RandomGenerator. В идеале такой поток объектов должен обладать свойством, при котором поведение каждого объекта статистически независимо от всех остальных. На практике, возможно, придется довольствоваться некоторым приближением к этому свойству.

Генератор, реализующий интерфейс RandomGenerator.SplittableGenerator, может использовать свой метод splits() для реализации метода rngs(), требуемого этим интерфейсом.

Генератор, реализующий интерфейс RandomGenerator.JumpableGenerator, может использовать свой метод jumps() для реализации метода rngs(), требуемого этим интерфейсом.

Генератор, реализующий интерфейс RandomGenerator.LeapableGenerator, может использовать свой метод leaps() для реализации метода rngs(), требуемого этим интерфейсом.

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

Начиная с:
17

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в интерфейсе RandomGenerator

RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
Модификатор и тип Интерфейс Описание
static interface  RandomGenerator.ArbitrarilyJumpableGenerator
Этот интерфейс предназначен для предоставления общего протокола объектам, генерирующим последовательности псевдослучайных значений и способным легко перескакивать вперед на произвольное расстояние до удаленной точки цикла состояний.
static interface  RandomGenerator.JumpableGenerator
Этот интерфейс предназначен для предоставления общего протокола объектам, генерирующим псевдослучайные значения и способным легко перескакивать вперед на умеренное расстояние (например, 264) до удаленной точки цикла состояний.
static interface  RandomGenerator.LeapableGenerator
Этот интерфейс предназначен для предоставления общего протокола объектам, генерирующим последовательности псевдослучайных значений и способным не только перескакивать, но и совершать большой скачок вперед на значительное расстояние (например, 2128) до очень удаленной точки цикла состояний.
static interface  RandomGenerator.SplittableGenerator
Этот интерфейс предназначен для предоставления общего протокола объектам, генерирующим последовательности псевдослучайных значений и способным разделяться на два объекта (исходный и новый), каждый из которых соблюдает тот же протокол (и, следовательно, может рекурсивно разделяться неограниченное число раз).
static interface  RandomGenerator.StreamableGenerator
Интерфейс RandomGenerator.StreamableGenerator расширяет интерфейс RandomGenerator, предоставляя методы, которые возвращают потоки объектов RandomGenerator.

Краткое описание методов

Модификатор и тип Метод Описание
static RandomGenerator.StreamableGenerator of(String name)
Возвращает экземпляр RandomGenerator.StreamableGenerator, использующий name алгоритм.
Stream<RandomGenerator> rngs()
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator.
default Stream<RandomGenerator> rngs(long streamSize)
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator.

Методы, объявленные в интерфейсе RandomGenerator

doubles, doubles, doubles, doubles, equiDoubles, ints, ints, ints, ints, isDeprecated, longs, longs, longs, longs, nextBoolean, nextBytes, nextDouble, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextFloat, nextGaussian, nextGaussian, nextInt, nextInt, nextInt, nextLong, nextLong, nextLong
Модификатор и тип Метод Описание
default DoubleStream doubles()
Возвращает практически неограниченный поток псевдослучайно выбранных значений double.
default DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
Возвращает практически неограниченный поток псевдослучайно выбранных значений double, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default DoubleStream doubles(long streamSize)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений double.
default DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений double, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default DoubleStream equiDoubles(double left, double right, boolean isLeftIncluded, boolean isRightIncluded)
Возвращает практически неограниченный поток псевдослучайно выбранных значений double, каждое из которых находится между заданной left границей и заданной right границей.
default IntStream ints()
Возвращает практически неограниченный поток псевдослучайно выбранных значений int.
default IntStream ints(int randomNumberOrigin, int randomNumberBound)
Возвращает практически неограниченный поток псевдослучайно выбранных значений int, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default IntStream ints(long streamSize)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений int.
default IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений int, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default boolean isDeprecated()
Возвращает true, если реализация RandomGenerator (алгоритм) помечена как устаревающая.
default LongStream longs()
Возвращает практически неограниченный поток псевдослучайно выбранных значений long.
default LongStream longs(long streamSize)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений long.
default LongStream longs(long randomNumberOrigin, long randomNumberBound)
Возвращает практически неограниченный поток псевдослучайно выбранных значений long, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений long, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно).
default boolean nextBoolean()
Возвращает псевдослучайно выбранное значение boolean.
default void nextBytes(byte[] bytes)
Заполняет предоставленный пользователем массив байтов сгенерированными байтовыми значениями, равномерно псевдослучайно выбранными из диапазона от -128 (включительно) до 127 (включительно).
default double nextDouble()
Возвращает псевдослучайное значение double в диапазоне от нуля (включительно) до единицы (не включительно).
default double nextDouble(double bound)
Возвращает псевдослучайно выбранное значение double в диапазоне от нуля (включительно) до заданной верхней границы (не включительно).
default double nextDouble(double origin, double bound)
Возвращает псевдослучайно выбранное значение double в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно).
default double nextExponential()
Возвращает неотрицательное значение double, псевдослучайно выбранное из экспоненциального распределения со средним значением 1.
default float nextFloat()
Возвращает псевдослучайное значение float в диапазоне от нуля (включительно) до единицы (не включительно).
default float nextFloat(float bound)
Возвращает псевдослучайно выбранное значение float в диапазоне от нуля (включительно) до заданной верхней границы (не включительно).
default float nextFloat(float origin, float bound)
Возвращает псевдослучайно выбранное значение float в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно).
default double nextGaussian()
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением 0 и стандартным отклонением 1.
default double nextGaussian(double mean, double stddev)
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением и стандартным отклонением, заданными аргументами.
default int nextInt()
Возвращает псевдослучайно выбранное значение int.
default int nextInt(int bound)
Возвращает псевдослучайно выбранное значение int в диапазоне от нуля (включительно) до заданной верхней границы (не включительно).
default int nextInt(int origin, int bound)
Возвращает псевдослучайно выбранное значение int в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно).
long nextLong()
Возвращает псевдослучайно выбранное значение long.
default long nextLong(long bound)
Возвращает псевдослучайно выбранное значение long в диапазоне от нуля (включительно) до заданной верхней границы (не включительно).
default long nextLong(long origin, long bound)
Возвращает псевдослучайно выбранное значение long в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно).

Подробное описание методов

of

static RandomGenerator.StreamableGenerator of(String name)
Возвращает экземпляр RandomGenerator.StreamableGenerator, использующий name алгоритм.
Параметры:
name — название алгоритма генератора случайных чисел
Возвращает:
Экземпляр RandomGenerator.StreamableGenerator
Исключения:
NullPointerException — если имя равно null
IllegalArgumentException — если алгоритм с указанным именем не найден

rngs

Stream<RandomGenerator> rngs()
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми. Новые генераторы используют тот же алгоритм, что и этот генератор.
Примечание по реализации:
Допускается реализовать этот метод способом, эквивалентным вызову rngs (Long.MAX_VALUE).
Возвращает:
поток объектов, реализующих интерфейс RandomGenerator

rngs

default Stream<RandomGenerator> rngs(long streamSize)
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми. Новые генераторы используют тот же алгоритм, что и этот генератор.
Требования к реализации:
Реализация по умолчанию вызывает rngs(), а затем ограничивает длину потока значением streamSize.
Параметры:
streamSize — число создаваемых генераторов
Возвращает:
поток объектов, реализующих интерфейс RandomGenerator
Исключения:
IllegalArgumentException — если streamSize меньше нуля

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API