Язык

RandomGeneratorFactory Класс

Определение

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

[Android.Runtime.Register("java/util/random/RandomGeneratorFactory", ApiSince=35, DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.util.random.RandomGenerator" })]
public sealed class RandomGeneratorFactory : Java.Lang.Object
[<Android.Runtime.Register("java/util/random/RandomGeneratorFactory", ApiSince=35, DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.util.random.RandomGenerator" })>]
type RandomGeneratorFactory = class
    inherit Object
Наследование
RandomGeneratorFactory
Атрибуты

Комментарии

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

RandomGeneratorFactory Конкретный объект можно найти с помощью RandomGeneratorFactory#of(String) метода, где строка аргумента — это имя необходимого алгоритма. Метод RandomGeneratorFactory#all() создает непустую Stream из всех доступных, RandomGeneratorFactory RandomGeneratorFactorys которые можно искать, чтобы найти подходящий RandomGeneratorFactory для задачи.

Существует три метода для создания экземпляра RandomGenerator в зависимости от типа начального начального значения. RandomGeneratorFactory#create(long) используется для длительного строительства семян, RandomGeneratorFactory#create(byte[]) используется для строительства семян байтов[] и RandomGeneratorFactory#create() используется для случайного строительства семян. Пример;

{@code
               RandomGeneratorFactory<RandomGenerator> factory = RandomGeneratorFactory.of("Random");

                for (int i = 0; i < 10; i++) {
                    new Thread(() -> {
                        RandomGenerator random = factory.create(100L);
                        System.out.println(random.nextDouble());
                    }).start();
                }
            }

RandomGeneratorFactory также предоставляет методы, описывающие атрибуты генератора (или свойства) и могут использоваться для выбора алгоритмов генератора случайных чисел. Эти методы обычно используются в сочетании с RandomGeneratorFactory#all(). В этом примере код находит RandomGeneratorFactory создаваемый RandomGenerator RandomGenerators с наибольшим числом битов состояния.

{@code
                RandomGeneratorFactory<RandomGenerator> best = RandomGeneratorFactory.all()
                    .sorted(Comparator.comparingInt(RandomGenerator::stateBits).reversed())
                    .findFirst()
                    .orElse(RandomGeneratorFactory.of("Random"));
                System.out.println(best.name() + " in " + best.group() + " was selected");

                RandomGenerator rng = best.create();
                System.out.println(rng.nextLong());
            }

Добавлено в 17.

Java документации по java.util.random.RandomGeneratorFactory.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Свойства

Имя. Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Default

RandomGeneratorFactory Возвращает минимальное требование наличия алгоритма, состояние которого больше или равно 64.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsArbitrarilyJumpable

Возвращает значение true, если случайный генератор может перепрыгнуть произвольно указанную удаленную точку в цикле состояния.

IsDeprecated

Возвращает значение true, если реализация RandomGenerator (алгоритм) помечена как нерекомендуемая.

IsHardware

Возвращает значение true, если случайный генератор использует аппаратное устройство (HRNG) для создания энтропических входных данных.

IsJumpable

Возвращает значение true, если случайный генератор может перепрыгнуть указанную удаленную точку в цикле состояния.

IsLeapable

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

IsSplittable

Возвращает значение true, если случайный генератор может быть клонирован в отдельный объект с теми же свойствами, но расположен дальше в цикле состояния.

IsStatistical

Возвращает значение true, если случайный генератор вычисляется с помощью арифметического алгоритма и является статистически детерминированным.

IsStochastic

Возвращает значение true, если случайный генератор вычисляется с помощью внешних или энтропических источников в качестве входных данных.

IsStreamable

Возвращает значение true, если случайный генератор можно использовать для создания java.util.stream.Stream Streams случайных чисел.

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

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

(Унаследовано от JavaObject)
JniPeerMembers

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

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)

Методы

Имя. Описание
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(Унаследовано от JavaObject)
Create()

Создайте экземпляр на основе выбранного алгоритма RandomGenerator .

Create(Byte[])

Создайте экземпляр на основе выбранного RandomGenerator алгоритма, предоставляющего начальное значение байтов[].

Create(Int64)

Создайте экземпляр на основе выбранного RandomGenerator алгоритма, предоставляющего начальное значение.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

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

(Унаследовано от JavaObject)
Equals(Object)

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

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Equidistribution()

Возвращает эквивалентность алгоритма.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
Group()

Возвращает имя группы алгоритма, используемого генератором случайных чисел.

JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Name()

Возвращает имя алгоритма, используемого генератором случайных чисел.

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Of(String)

Возвращает экземпляры RandomGeneratorFactory , которые могут создавать экземпляры RandomGenerator , использующие nameалгоритм.

Period()

Возвращает период алгоритма, используемого генератором случайных чисел.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(Унаследовано от JavaObject)
StateBits()

Возвращает количество битов, используемых алгоритмом для поддержания состояния начального значения.

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

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

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

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

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Унаследовано от JavaObject)

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к