Интерфейс RandomGenerator.StreamableGenerator
- Все суперинтерфейсы:
RandomGenerator
- Все известные подинтерфейсы:
-
RandomGenerator.ArbitrarilyJumpableGenerator,RandomGenerator.JumpableGenerator,RandomGenerator.LeapableGenerator,RandomGenerator.SplittableGenerator
- Все известные реализующие классы:
SplittableRandom
- Окружающий интерфейс:
- RandomGenerator
public static interface RandomGenerator.StreamableGenerator extends RandomGenerator
RandomGenerator.StreamableGenerator расширяет интерфейс RandomGenerator, предоставляя методы, возвращающие потоки объектов RandomGenerator. В идеале такой поток объектов должен обладать свойством, что поведение каждого объекта статистически независимо от других. На практике, может потребоваться удовлетвориться некоторым приближением к этому свойству. Генератор, реализующий интерфейс RandomGenerator.SplittableGenerator, может использовать свой метод splits() для реализации метода rngs, требуемого этим интерфейсом.
Генератор, реализующий интерфейс RandomGenerator.JumpableGenerator, может использовать свой метод jumps() для реализации метода rngs, требуемого этим интерфейсом.
Генератор, реализующий интерфейс RandomGenerator.LeapableGenerator, может использовать свой метод leaps() для реализации метода rngs, требуемого этим интерфейсом.
Объекты, реализующие RandomGenerator.StreamableGenerator, как правило, не являются криптографически безопасными. Вместо этого следует использовать SecureRandom для получения криптографически безопасного псевдослучайного генератора чисел для использования в приложениях, чувствительных к безопасности.
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.random.RandomGenerator
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static RandomGenerator.StreamableGenerator |
of |
|
Stream<RandomGenerator> |
rngs() |
Возвращает эффективно неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. |
default Stream<RandomGenerator> |
rngs |
Возвращает эффективно неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. |
Методы, объявленные в интерфейсе 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.StreamableGenerator of(String name)
- Параметры:
-
name- Имя алгоритма генератора псевдослучайных чисел алгоритм - Возвращает:
- Экземпляр
RandomGenerator.StreamableGenerator - Исключения:
-
NullPointerException- если имя равно null -
IllegalArgumentException- если алгоритм с указанным именем не найден
rngs
Stream<RandomGenerator> rngs()
RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми. Новые генераторы используют тот же алгоритм, что и этот генератор.- Примечание реализации:
- Разрешено реализовать этот метод в соответствии с
rngs(Long.MAX_VALUE). - Возвращает:
- поток объектов, реализующих интерфейс
RandomGenerator
rngs
default Stream<RandomGenerator> rngs(long streamSize)
RandomGenerator. В идеале генераторы в потоке будут казаться статистически независимыми. Новые генераторы используют тот же алгоритм, что и этот генератор.- Требования к реализации:
- Стандартная реализация вызывает
rngs(), а затем ограничивает его длину до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.StreamableGenerator.html