Интерфейс 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<RandomGenerator> |
rngs() |
Возвращает эффективно неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. |
default Stream<RandomGenerator> |
rngs |
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator. |
RandomGenerator.SplittableGenerator |
split() |
Возвращает новый генератор псевдослучайных чисел, разделенный от данного, который реализует интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator. |
RandomGenerator.SplittableGenerator |
split |
Возвращает новый генератор псевдослучайных чисел, разделенный от данного, который реализует интерфейсы RandomGenerator и RandomGenerator.SplittableGenerator. |
default Stream<RandomGenerator.SplittableGenerator> |
splits() |
Возвращает эффективно неограниченный поток новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream<RandomGenerator.SplittableGenerator> |
splits |
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream<RandomGenerator.SplittableGenerator> |
splits |
Возвращает поток, производящий заданное количество новых генераторов псевдослучайных чисел, каждый из которых реализует интерфейс RandomGenerator.SplittableGenerator. |
Stream<RandomGenerator.SplittableGenerator> |
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, 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