Spec-Zone.ru › OpenJDK 17

Интерфейс 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)
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс 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)
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator.
Stream<RandomGenerator.SplittableGenerator> splits(long streamSize, RandomGenerator.SplittableGenerator source)
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс 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, 2021, 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/17/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html

Spec-Zone.ru

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