Интерфейс 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 |
|
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. |
Методы, объявленные в интерфейсе 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)
- Параметры:
-
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