Интерфейс 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 |
|
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, 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)
- Параметры:
-
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