Spec-Zone.ru › OpenJDK 25

Интерфейс 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(String name)
Возвращает экземпляр RandomGenerator.SplittableGenerator, использующий алгоритм name алгоритм.
default Stream<RandomGenerator> rngs()
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.
default Stream<RandomGenerator> rngs(long streamSize)
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.
RandomGenerator.SplittableGenerator split()
Возвращает новый генератор псевдослучайных чисел, отделенный от этого генератора и реализующий интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator.
RandomGenerator.SplittableGenerator split(RandomGenerator.SplittableGenerator source)
Возвращает новый генератор псевдослучайных чисел, отделенный от этого генератора и реализующий интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator.
default Stream<RandomGenerator.SplittableGenerator> splits()
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.
Stream<RandomGenerator.SplittableGenerator> splits(long streamSize)
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.
Stream<RandomGenerator.SplittableGenerator> splits(long streamSize, RandomGenerator.SplittableGenerator source)
Возвращает поток, создающий указанное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.
Stream<RandomGenerator.SplittableGenerator> splits(RandomGenerator.SplittableGenerator source)
Возвращает практически неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс 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)
Возвращает экземпляр RandomGenerator.SplittableGenerator, использующий 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 меньше нуля

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html

Spec-Zone.ru

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