Spec-Zone.ru › OpenJDK 27

Класс ThreadLocalRandom

java.lang.Object
java.util.Random
java.util.concurrent.ThreadLocalRandom
Все реализуемые интерфейсы:
Serializable, RandomGenerator
public final class ThreadLocalRandom extends Random
Генератор случайных чисел (с периодом 264), изолированный для текущего потока. Подобно глобальному генератору Random, используемому классом Math, объект ThreadLocalRandom инициализируется внутренне сгенерированным начальным значением, которое впоследствии нельзя изменить. В многопоточных программах использование ThreadLocalRandom вместо общих объектов Random обычно сопряжено со значительно меньшими накладными расходами и конкуренцией за ресурсы. Использование ThreadLocalRandom особенно уместно, когда несколько задач (например, каждая из которых является ForkJoinTask) параллельно генерируют случайные числа в пулах потоков.

Обычно этот класс используют следующим образом: ThreadLocalRandom.current().nextX(...) (где X — это Int, Long и т. д.). Если все обращения выполняются таким образом, случайно совместно использовать ThreadLocalRandom в нескольких потоках невозможно.

Этот класс также предоставляет дополнительные часто используемые методы генерации случайных чисел в заданном диапазоне.

Экземпляры ThreadLocalRandom не являются криптографически стойкими. Для приложений, чувствительных к безопасности, рекомендуется использовать SecureRandom. Кроме того, экземпляры, созданные конструктором по умолчанию, не используют криптографически случайное начальное значение, если системное свойство java.util.secureRandomSeed не установлено в true.

С версии:
1.7
См. также:
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в интерфейсе RandomGenerator

RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
Модификатор и тип Интерфейс Описание
static interface  RandomGenerator.ArbitrarilyJumpableGenerator
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и способных легко выполнять прыжок вперёд на произвольное расстояние до удалённой точки цикла состояний.
static interface  RandomGenerator.JumpableGenerator
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих псевдослучайные значения и способных легко выполнять прыжок вперёд на умеренное расстояние (например, 264) до удалённой точки цикла состояний.
static interface  RandomGenerator.LeapableGenerator
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и способных не только выполнять прыжок, но и делать скачок вперёд на большое расстояние (например, 2128) до очень удалённой точки цикла состояний.
static interface  RandomGenerator.SplittableGenerator
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и допускающих разделение на два объекта (исходный и новый), каждый из которых следует тому же протоколу (и поэтому может рекурсивно разделяться неограниченное число раз).
static interface  RandomGenerator.StreamableGenerator
Интерфейс RandomGenerator.StreamableGenerator расширяет интерфейс RandomGenerator, предоставляя методы, возвращающие потоки объектов RandomGenerator.

Краткое описание методов

Модификатор и тип Метод Описание
static ThreadLocalRandom current()
Возвращает объект ThreadLocalRandom текущего потока.
DoubleStream doubles()
Возвращает практически неограниченный поток псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (не включительно).
DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений double, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
DoubleStream doubles(long streamSize)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (не включительно).
DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений double, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
IntStream ints()
Возвращает практически неограниченный поток псевдослучайных значений int.
IntStream ints(int randomNumberOrigin, int randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений int, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
IntStream ints(long streamSize)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений int.
IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений int, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
LongStream longs()
Возвращает практически неограниченный поток псевдослучайных значений long.
LongStream longs(long streamSize)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений long.
LongStream longs(long randomNumberOrigin, long randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений long, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений long, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно).
protected int next(int bits)
Генерирует псевдослучайное число с указанным количеством младших битов.
double nextDouble(double bound)
Возвращает псевдослучайно выбранное значение double в диапазоне от нуля (включительно) до указанной верхней границы (не включительно).
double nextDouble(double origin, double bound)
Возвращает псевдослучайно выбранное значение double в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно).
float nextFloat(float bound)
Возвращает псевдослучайно выбранное значение float в диапазоне от нуля (включительно) до указанной верхней границы (не включительно).
float nextFloat(float origin, float bound)
Возвращает псевдослучайно выбранное значение float в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно).
double nextGaussian()
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением 0 и стандартным отклонением 1.
int nextInt(int bound)
Возвращает псевдослучайное равномерно распределённое значение int в диапазоне от 0 (включительно) до указанного значения (не включительно), выбранное из последовательности этого генератора случайных чисел.
int nextInt(int origin, int bound)
Возвращает псевдослучайно выбранное значение int в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно).
long nextLong(long bound)
Возвращает псевдослучайно выбранное значение long в диапазоне от нуля (включительно) до указанной верхней границы (не включительно).
long nextLong(long origin, long bound)
Возвращает псевдослучайно выбранное значение long в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно).
void setSeed(long seed)
Выбрасывает UnsupportedOperationException.

Методы, объявленные в классе Random

from, nextBoolean, nextBytes, nextDouble, nextFloat, nextInt, nextLong
Модификатор и тип Метод Описание
static Random from(RandomGenerator generator)
Возвращает экземпляр Random, который делегирует вызовы методов аргументу RandomGenerator.
boolean nextBoolean()
Возвращает следующее псевдослучайное равномерно распределённое значение boolean из последовательности этого генератора случайных чисел.
void nextBytes(byte[] bytes)
Генерирует случайные байты и помещает их в предоставленный пользователем массив байтов.
double nextDouble()
Возвращает следующее псевдослучайное равномерно распределённое значение double в диапазоне от 0.0 до 1.0 из последовательности этого генератора случайных чисел.
float nextFloat()
Возвращает следующее псевдослучайное равномерно распределённое значение float в диапазоне от 0.0 до 1.0 из последовательности этого генератора случайных чисел.
int nextInt()
Возвращает следующее псевдослучайное равномерно распределённое значение int из последовательности этого генератора случайных чисел.
long nextLong()
Возвращает следующее псевдослучайное равномерно распределённое значение long из последовательности этого генератора случайных чисел.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому.
protected void finalize()
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе RandomGenerator

equiDoubles, isDeprecated, nextExponential, nextGaussian
Модификатор и тип Метод Описание
default DoubleStream equiDoubles(double left, double right, boolean isLeftIncluded, boolean isRightIncluded)
Возвращает практически неограниченный поток псевдослучайно выбранных значений double, каждое из которых находится между указанной нижней границей left и указанной верхней границей right.
default boolean isDeprecated()
Возвращает true, если реализация RandomGenerator (алгоритм) помечена как устаревшая.
default double nextExponential()
Возвращает неотрицательное значение double, псевдослучайно выбранное из экспоненциального распределения со средним значением 1.
default double nextGaussian(double mean, double stddev)
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением и стандартным отклонением, заданными аргументами.

Подробное описание методов

current

public static ThreadLocalRandom current()
Возвращает объект ThreadLocalRandom текущего потока. Методы этого объекта следует вызывать только из текущего потока, а не из других потоков.
Возвращает:
объект ThreadLocalRandom текущего потока

setSeed

public void setSeed(long seed)
Выбрасывает UnsupportedOperationException. Установка начальных значений для этого генератора не поддерживается.
Переопределяет:
setSeed в классе Random
Параметры:
seed — значение начального параметра
Выбрасывает:
UnsupportedOperationException — всегда

next

protected int next(int bits)
Генерирует псевдослучайное число с указанным количеством младших битов. Поскольку у этого класса нет подклассов, этот метод нельзя вызывать или переопределять.
Переопределяет:
next в классе Random
Параметры:
bits — случайные биты
Возвращает:
следующее псевдослучайное значение из последовательности этого генератора случайных чисел

nextInt

public int nextInt(int bound)
Возвращает псевдослучайное равномерно распределённое значение int от 0 (включительно) до указанного значения (исключительно), взятое из последовательности этого генератора случайных чисел. Общий контракт метода nextInt состоит в том, что одно значение int из указанного диапазона псевдослучайно генерируется и возвращается. Все bound возможные значения int генерируются с (приблизительно) равной вероятностью.
Определён в:
nextInt в интерфейсе RandomGenerator
Переопределяет:
nextInt в классе Random
Параметры:
bound — верхняя граница (исключительно). Должна быть положительной.
Возвращает:
следующее псевдослучайное равномерно распределённое значение int от нуля (включительно) до bound (исключительно) из последовательности этого генератора случайных чисел
Выбрасывает:
IllegalArgumentException — если bound не является положительным

nextInt

public int nextInt(int origin, int bound)
Возвращает псевдослучайно выбранное значение int от указанного начала (включительно) до указанной границы (исключительно).
Параметры:
origin — наименьшее значение, которое может быть возвращено
bound — верхняя граница (исключительно) возвращаемого значения
Возвращает:
псевдослучайно выбранное значение int от начала (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если origin больше или равно bound

nextLong

public long nextLong(long bound)
Возвращает псевдослучайно выбранное значение long от нуля (включительно) до указанной границы (исключительно).
Параметры:
bound — верхняя граница (исключительно) возвращаемого значения. Должна быть положительной.
Возвращает:
псевдослучайно выбранное значение long от нуля (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если bound не является положительным

nextLong

public long nextLong(long origin, long bound)
Возвращает псевдослучайно выбранное значение long от указанного начала (включительно) до указанной границы (исключительно).
Параметры:
origin — наименьшее значение, которое может быть возвращено
bound — верхняя граница (исключительно) возвращаемого значения
Возвращает:
псевдослучайно выбранное значение long от начала (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если origin больше или равно bound

nextGaussian

public double nextGaussian()
Возвращает значение double, псевдослучайно выбранное из гауссова (нормального) распределения со средним значением 0 и стандартным отклонением 1.
Определён в:
nextGaussian в интерфейсе RandomGenerator
Переопределяет:
nextGaussian в классе Random
Примечание по реализации:
В этой реализации вызывается реализация по умолчанию метода RandomGenerator.nextGaussian(), поэтому используется быстрый модифицированный алгоритм зиггурат Макфарланда, а не полярный метод, описанный в суперклассе.
Возвращает:
значение double, псевдослучайно выбранное из гауссова распределения

nextFloat

public float nextFloat(float bound)
Возвращает псевдослучайно выбранное значение float от нуля (включительно) до указанной границы (исключительно).
Параметры:
bound — верхняя граница (исключительно) возвращаемого значения. Должна быть положительной и конечной
Возвращает:
псевдослучайно выбранное значение float от нуля (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если bound не является одновременно положительным и конечным
Начиная с:
17

nextFloat

public float nextFloat(float origin, float bound)
Возвращает псевдослучайно выбранное значение float от указанного начала (включительно) до указанной границы (исключительно).
Параметры:
origin — наименьшее значение, которое может быть возвращено
bound — верхняя граница (исключительно)
Возвращает:
псевдослучайно выбранное значение float от начала (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если origin не является конечным, или bound не является конечным, или origin больше или равно bound
Начиная с:
17

nextDouble

public double nextDouble(double bound)
Возвращает псевдослучайно выбранное значение double от нуля (включительно) до указанной границы (исключительно).
Параметры:
bound — верхняя граница (исключительно) возвращаемого значения. Должна быть положительной и конечной
Возвращает:
псевдослучайно выбранное значение double от нуля (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если bound не является одновременно положительным и конечным

nextDouble

public double nextDouble(double origin, double bound)
Возвращает псевдослучайно выбранное значение double от указанного начала (включительно) до указанной границы (исключительно).
Параметры:
origin — наименьшее значение, которое может быть возвращено
bound — верхняя граница (исключительно) возвращаемого значения
Возвращает:
псевдослучайно выбранное значение double от начала (включительно) до границы (исключительно)
Выбрасывает:
IllegalArgumentException — если origin не является конечным, или bound не является конечным, или origin больше или равно bound

ints

public IntStream ints(long streamSize)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений int.

Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова метода Random.nextInt().

Определён в:
ints в интерфейсе RandomGenerator
Переопределяет:
ints в классе Random
Параметры:
streamSize — количество генерируемых значений
Возвращает:
поток псевдослучайных значений int
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля
Начиная с:
1.8

ints

public IntStream ints()
Возвращает практически неограниченный поток псевдослучайных значений int.

Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова метода Random.nextInt().

Определён в:
ints в интерфейсе RandomGenerator
Переопределяет:
ints в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным ints(Long.MAX_VALUE).
Возвращает:
поток псевдослучайных значений int
Начиная с:
1.8

ints

public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений int, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).

Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:

int nextInt(int origin, int bound) {
  int n = bound - origin;
  if (n > 0) {
    return nextInt(n) + origin;
  }
  else {  // range not representable as int
    int r;
    do {
      r = nextInt();
    } while (r < origin || r >= bound);
    return r;
  }
}
Определён в:
ints в интерфейсе RandomGenerator
Переопределяет:
ints в классе Random
Параметры:
streamSize — количество генерируемых значений
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений int, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля или randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

ints

public IntStream ints(int randomNumberOrigin, int randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений int, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).

Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:

int nextInt(int origin, int bound) {
  int n = bound - origin;
  if (n > 0) {
    return nextInt(n) + origin;
  }
  else {  // range not representable as int
    int r;
    do {
      r = nextInt();
    } while (r < origin || r >= bound);
    return r;
  }
}
Определён в:
ints в интерфейсе RandomGenerator
Переопределяет:
ints в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound).
Параметры:
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений int, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

longs

public LongStream longs(long streamSize)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений long.

Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова метода Random.nextLong().

Определён в:
longs в интерфейсе RandomGenerator
Переопределяет:
longs в классе Random
Параметры:
streamSize — количество генерируемых значений
Возвращает:
поток псевдослучайных значений long
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля
Начиная с:
1.8

longs

public LongStream longs()
Возвращает практически неограниченный поток псевдослучайных значений long.

Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова метода Random.nextLong().

Определён в:
longs в интерфейсе RandomGenerator
Переопределяет:
longs в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным longs(Long.MAX_VALUE).
Возвращает:
поток псевдослучайных значений long
Начиная с:
1.8

longs

public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений long, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).

Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:

long nextLong(long origin, long bound) {
  long r = nextLong();
  long n = bound - origin, m = n - 1;
  if ((n & m) == 0L)  // power of two
    r = (r & m) + origin;
  else if (n > 0L) {  // reject over-represented candidates
    for (long u = r >>> 1;            // ensure nonnegative
         u + m - (r = u % n) < 0L;    // rejection check
         u = nextLong() >>> 1) // retry
        ;
    r += origin;
  }
  else {              // range not representable as long
    while (r < origin || r >= bound)
      r = nextLong();
  }
  return r;
}
Определён в:
longs в интерфейсе RandomGenerator
Переопределяет:
longs в классе Random
Параметры:
streamSize — количество генерируемых значений
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений long, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля или randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

longs

public LongStream longs(long randomNumberOrigin, long randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений long, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).

Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:

long nextLong(long origin, long bound) {
  long r = nextLong();
  long n = bound - origin, m = n - 1;
  if ((n & m) == 0L)  // power of two
    r = (r & m) + origin;
  else if (n > 0L) {  // reject over-represented candidates
    for (long u = r >>> 1;            // ensure nonnegative
         u + m - (r = u % n) < 0L;    // rejection check
         u = nextLong() >>> 1) // retry
        ;
    r += origin;
  }
  else {              // range not representable as long
    while (r < origin || r >= bound)
      r = nextLong();
  }
  return r;
}
Определён в:
longs в интерфейсе RandomGenerator
Переопределяет:
longs в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound).
Параметры:
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений long, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

doubles

public DoubleStream doubles(long streamSize)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (исключительно).

Псевдослучайное значение double генерируется так, как если бы оно было результатом вызова метода Random.nextDouble().

Определён в:
doubles в интерфейсе RandomGenerator
Переопределяет:
doubles в классе Random
Параметры:
streamSize — количество генерируемых значений
Возвращает:
поток значений double
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля
Начиная с:
1.8

doubles

public DoubleStream doubles()
Возвращает практически неограниченный поток псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (исключительно).

Псевдослучайное значение double генерируется так, как если бы оно было результатом вызова метода Random.nextDouble().

Определён в:
doubles в интерфейсе RandomGenerator
Переопределяет:
doubles в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным doubles(Long.MAX_VALUE).
Возвращает:
поток псевдослучайных значений double
Начиная с:
1.8

doubles

public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
Возвращает поток, генерирующий указанное количество streamSize псевдослучайных значений double, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).
Определён в:
doubles в интерфейсе RandomGenerator
Переопределяет:
doubles в классе Random
Параметры:
streamSize — количество генерируемых значений
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений double, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если streamSize меньше нуля, или randomNumberOrigin не является конечным, или randomNumberBound не является конечным, или randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

doubles

public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
Возвращает практически неограниченный поток псевдослучайных значений double, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).
Определён в:
doubles в интерфейсе RandomGenerator
Переопределяет:
doubles в классе Random
Примечание по реализации:
Этот метод реализован так, чтобы быть эквивалентным doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound).
Параметры:
randomNumberOrigin — начало (включительно) каждого случайного значения
randomNumberBound — граница (исключительно) каждого случайного значения
Возвращает:
поток псевдослучайных значений double, каждое из которых имеет заданные начало (включительно) и границу (исключительно)
Выбрасывает:
IllegalArgumentException — если randomNumberOrigin не является конечным, или randomNumberBound не является конечным, или randomNumberOrigin больше или равно randomNumberBound
Начиная с:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документация для разработчиков доступны в разделе документации Java SE, содержащем более подробные описания для разработчиков, в том числе обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API