Интерфейс 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.
- С момента:
- 17
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе RandomGenerator
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static RandomGenerator.StreamableGenerator |
of |
Возвращает экземпляр RandomGenerator.StreamableGenerator, использующий алгоритм name. |
Stream |
rngs() |
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. |
default Stream |
rngs |
Возвращает практически неограниченный поток объектов, каждый из которых реализует интерфейс RandomGenerator. |
Методы, объявленные в интерфейсе 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.StreamableGenerator of(String name)
RandomGenerator.StreamableGenerator, использующий алгоритм 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, 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.StreamableGenerator.html