Spec-Zone.ru › OpenJDK 21

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

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

В идеале, все RandomGenerator.SplittableGenerator объекты, полученные при рекурсивном разделении от одного исходного RandomGenerator.SplittableGenerator объекта, должны быть статистически независимыми друг от друга и индивидуально равномерными. Поэтому мы ожидаем, что набор значений, сгенерированных совокупностью таких объектов, будет иметь такие же статистические свойства, как если бы то же количество значений было сгенерировано одним потоком с использованием одного RandomGenerator.SplittableGenerator объекта. На практике необходимо довольствоваться приближением к независимости и равномерности.

Предоставлены методы для выполнения одного разбиения и для получения потока генераторов, разделенных от исходного (путем итерационного или рекурсивного разбиения или их комбинации).

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

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

Вложенные классы/интерфейсы, объявленные в интерфейсе 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, 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)
Возвращает поток, генерирующий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс 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)
Возвращает поток, генерирующий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс 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)
Возвращает поток, генерирующий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. В идеале генераторы в потоке будут статистически независимыми.
Определено в:
rngs в интерфейсе RandomGenerator.StreamableGenerator
Требования к реализации:
Базовая реализация вызывает splits(streamSize).
Параметры:
streamSize - количество генераторов для генерации
Возвращает:
поток объектов, реализующих интерфейс RandomGenerator
Исключения:
IllegalArgumentException - если streamSize меньше нуля

© 1993, 2023, 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/21/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html

Spec-Zone.ru

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