Интерфейс 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 |
|
Stream |
rngs() |
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. |
default Stream |
rngs |
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс 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, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default DoubleStream |
doubles |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений double. |
default DoubleStream |
doubles |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений double, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default DoubleStream |
equiDoubles |
Возвращает практически неограниченный поток псевдослучайно выбранных значений double, каждое из которых находится между заданной left границей и заданной right границей. |
default IntStream |
ints() |
Возвращает практически неограниченный поток псевдослучайно выбранных значений int. |
default IntStream |
ints |
Возвращает практически неограниченный поток псевдослучайно выбранных значений int, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default IntStream |
ints |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений int. |
default IntStream |
ints |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений int, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default boolean |
isDeprecated() |
Возвращает true, если реализация RandomGenerator (алгоритм) помечена как устаревающая. |
default LongStream |
longs() |
Возвращает практически неограниченный поток псевдослучайно выбранных значений long. |
default LongStream |
longs |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений long. |
default LongStream |
longs |
Возвращает практически неограниченный поток псевдослучайно выбранных значений long, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default LongStream |
longs |
Возвращает поток, содержащий заданное число streamSize псевдослучайно выбранных значений long, каждое из которых находится между заданным начальным значением (включительно) и заданной верхней границей (не включительно). |
default boolean |
nextBoolean() |
Возвращает псевдослучайно выбранное значение boolean. |
default void |
nextBytes |
Заполняет предоставленный пользователем массив байтов сгенерированными байтовыми значениями, равномерно псевдослучайно выбранными из диапазона от -128 (включительно) до 127 (включительно). |
default double |
nextDouble() |
Возвращает псевдослучайное значение double в диапазоне от нуля (включительно) до единицы (не включительно). |
default double |
nextDouble |
Возвращает псевдослучайно выбранное значение double в диапазоне от нуля (включительно) до заданной верхней границы (не включительно). |
default double |
nextDouble |
Возвращает псевдослучайно выбранное значение double в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно). |
default double |
nextExponential() |
Возвращает неотрицательное значение double, псевдослучайно выбранное из экспоненциального распределения со средним значением 1. |
default float |
nextFloat() |
Возвращает псевдослучайное значение float в диапазоне от нуля (включительно) до единицы (не включительно). |
default float |
nextFloat |
Возвращает псевдослучайно выбранное значение float в диапазоне от нуля (включительно) до заданной верхней границы (не включительно). |
default float |
nextFloat |
Возвращает псевдослучайно выбранное значение float в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно). |
default double |
nextGaussian() |
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением 0 и стандартным отклонением 1. |
default double |
nextGaussian |
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением и стандартным отклонением, заданными аргументами. |
default int |
nextInt() |
Возвращает псевдослучайно выбранное значение int. |
default int |
nextInt |
Возвращает псевдослучайно выбранное значение int в диапазоне от нуля (включительно) до заданной верхней границы (не включительно). |
default int |
nextInt |
Возвращает псевдослучайно выбранное значение int в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно). |
long |
nextLong() |
Возвращает псевдослучайно выбранное значение long. |
default long |
nextLong |
Возвращает псевдослучайно выбранное значение long в диапазоне от нуля (включительно) до заданной верхней границы (не включительно). |
default long |
nextLong |
Возвращает псевдослучайно выбранное значение long в диапазоне от заданного начального значения (включительно) до заданной верхней границы (не включительно). |
Подробное описание методов
of
static RandomGenerator.StreamableGenerator of(String 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меньше нуля
© 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.