Spec-Zone.ru › OpenJDK 24

Интерфейс 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

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

Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.random.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.

Методы, объявленные в интерфейсе java.util.random.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 - если source равно 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).
Параметры:
source - экземпляр RandomGenerator.SplittableGenerator, который будет использоваться вместо текущего в качестве источника псевдослучайных битов для инициализации состояния новых.
Возвращает:
поток объектов RandomGenerator.SplittableGenerator
Исключения:
NullPointerException - если source равно null

splits

Stream<RandomGenerator.SplittableGenerator> splits(long streamSize, RandomGenerator.SplittableGenerator source)
Возвращает поток, генерирующий заданное streamSize количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.
Параметры:
streamSize - количество значений для генерации
source - экземпляр RandomGenerator.SplittableGenerator, который будет использоваться вместо текущего в качестве источника псевдослучайных битов для инициализации состояния новых.
Возвращает:
поток объектов RandomGenerator.SplittableGenerator
Исключения:
IllegalArgumentException - если streamSize меньше нуля
NullPointerException - если source равно 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html

Spec-Zone.ru

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