Интерфейс RandomGenerator.SplittableGenerator
- Все суперинтерфейсы:
RandomGenerator, RandomGenerator.StreamableGenerator
- Все известные реализующие классы:
SplittableRandom
- Включающий интерфейс:
RandomGenerator
public static interface RandomGenerator.SplittableGenerator extends RandomGenerator.StreamableGenerator
В идеале все объекты RandomGenerator.SplittableGenerator, полученные путем рекурсивного разделения одного исходного объекта RandomGenerator.SplittableGenerator, статистически независимы друг от друга и имеют равномерное распределение. Поэтому можно ожидать, что набор значений, совместно сгенерированных множеством таких объектов, будет обладать теми же статистическими свойствами, как если бы такое же количество значений было сгенерировано одним потоком с использованием одного объекта RandomGenerator.SplittableGenerator. На практике приходится довольствоваться некоторым приближением к независимости и равномерности.
Предусмотрены методы для выполнения одной операции разделения, а также для создания потока генераторов, отделенных от исходного (путем итеративного или рекурсивного разделения либо их сочетания).
Объекты, реализующие RandomGenerator.SplittableGenerator, обычно не являются криптографически защищенными. Для использования в приложениях, чувствительных к безопасности, рассмотрите возможность применения SecureRandom, чтобы получить криптографически защищенный генератор псевдослучайных чисел.
- Начиная с:
- 17
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе RandomGenerator
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static RandomGenerator.SplittableGenerator |
of |
|
default Stream |
rngs() |
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. |
default Stream |
rngs |
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. |
RandomGenerator.SplittableGenerator |
split() |
Возвращает новый генератор псевдослучайных чисел, отделенный от этого генератора и реализующий интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator. |
RandomGenerator.SplittableGenerator |
split |
Возвращает новый генератор псевдослучайных чисел, отделенный от этого генератора и реализующий интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator. |
default Stream |
splits() |
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream |
splits |
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream |
splits |
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream |
splits |
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Методы, объявленные в интерфейсе 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
Подробное описание методов
of
static RandomGenerator.SplittableGenerator of(String name)
- Параметры:
-
name— имя алгоритма генератора случайных чисел - Возвращает:
- экземпляр
RandomGenerator.SplittableGenerator - Вызывает исключения:
-
NullPointerException— если имя равно null -
IllegalArgumentException— если алгоритм с указанным именем не найден
split
RandomGenerator.SplittableGenerator split()
RandomGenerator и RandomGenerator.SplittableGenerator. Этот генератор псевдослучайных чисел может использоваться в качестве источника псевдослучайных битов для инициализации состояния нового генератора.
- Возвращает:
- новый объект, реализующий интерфейсы
RandomGeneratorиRandomGenerator.SplittableGenerator
split
RandomGenerator.SplittableGenerator split(RandomGenerator.SplittableGenerator source)
RandomGenerator и RandomGenerator.SplittableGenerator.- Параметры:
-
source— экземплярRandomGenerator.SplittableGenerator, используемый вместо этого генератора в качестве источника псевдослучайных битов для инициализации состояния новых генераторов. - Возвращает:
- объект, реализующий интерфейсы
RandomGeneratorиRandomGenerator.SplittableGenerator - Вызывает исключения:
-
NullPointerException— если источник равен null
splits
default Stream<RandomGenerator.SplittableGenerator> splits()
RandomGenerator.SplittableGenerator. Этот генератор псевдослучайных чисел может использоваться в качестве источника псевдослучайных битов для инициализации состояния новых генераторов.
- Требования к реализации:
- Реализация по умолчанию вызывает
splits(this). - Примечание по реализации:
- Этот метод разрешается реализовать способом, эквивалентным
splits(Long.MAX_VALUE). - Возвращает:
- поток объектов
RandomGenerator.SplittableGenerator
splits
Stream<RandomGenerator.SplittableGenerator> splits(long streamSize)
streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. Этот генератор псевдослучайных чисел может использоваться в качестве источника псевдослучайных битов для инициализации состояния новых генераторов.
- Параметры:
-
streamSize— количество генерируемых значений - Возвращает:
- поток объектов
RandomGenerator.SplittableGenerator - Вызывает исключения:
-
IllegalArgumentException— еслиstreamSizeменьше нуля
splits
Stream<RandomGenerator.SplittableGenerator> splits(RandomGenerator.SplittableGenerator source)
RandomGenerator.SplittableGenerator.- Примечание по реализации:
- Этот метод разрешается реализовать способом, эквивалентным
splits(Long.MAX_VALUE, источник). - Параметры:
-
source— экземплярRandomGenerator.SplittableGenerator, используемый вместо этого генератора в качестве источника псевдослучайных битов для инициализации состояния новых генераторов. - Возвращает:
- поток объектов
RandomGenerator.SplittableGenerator - Вызывает исключения:
-
NullPointerException— если источник равен null
splits
Stream<RandomGenerator.SplittableGenerator> splits(long streamSize, RandomGenerator.SplittableGenerator source)
streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.- Параметры:
-
streamSize— количество генерируемых значений -
source— экземплярRandomGenerator.SplittableGenerator, используемый вместо этого генератора в качестве источника псевдослучайных битов для инициализации состояния новых генераторов. - Возвращает:
- поток объектов
RandomGenerator.SplittableGenerator - Вызывает исключения:
-
IllegalArgumentException— еслиstreamSizeменьше нуля -
NullPointerException— если источник равен null
rngs
default Stream<RandomGenerator> rngs()
RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми.- Указано в:
-
rngsв интерфейсеRandomGenerator.StreamableGenerator - Требования к реализации:
- Реализация по умолчанию вызывает
splits(). - Возвращает:
- поток объектов, реализующих интерфейс
RandomGenerator
rngs
default Stream<RandomGenerator> rngs(long streamSize)
streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми.- Указано в:
-
rngsв интерфейсеRandomGenerator.StreamableGenerator - Требования к реализации:
- Реализация по умолчанию вызывает
splits(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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html