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#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 |
Возвращает класс среды выполнения этого |
| Default |
|
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsArbitrarilyJumpable |
Возвращает значение true, если случайный генератор может перепрыгнуть произвольно указанную удаленную точку в цикле состояния. |
| IsDeprecated |
Возвращает значение true, если реализация RandomGenerator (алгоритм) помечена как нерекомендуемая. |
| IsHardware |
Возвращает значение true, если случайный генератор использует аппаратное устройство (HRNG) для создания энтропических входных данных. |
| IsJumpable |
Возвращает значение true, если случайный генератор может перепрыгнуть указанную удаленную точку в цикле состояния. |
| IsLeapable |
Возвращает значение true, если случайный генератор может переходить к очень удаленной точке в цикле состояния. |
| IsSplittable |
Возвращает значение true, если случайный генератор может быть клонирован в отдельный объект с теми же свойствами, но расположен дальше в цикле состояния. |
| IsStatistical |
Возвращает значение true, если случайный генератор вычисляется с помощью арифметического алгоритма и является статистически детерминированным. |
| IsStochastic |
Возвращает значение true, если случайный генератор вычисляется с помощью внешних или энтропических источников в качестве входных данных. |
| IsStreamable |
Возвращает значение true, если случайный генератор можно использовать для создания |
| 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() |
Создайте экземпляр на основе выбранного алгоритма |
| Create(Byte[]) |
Создайте экземпляр на основе выбранного |
| Create(Int64) |
Создайте экземпляр на основе выбранного |
| 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) |
Возвращает экземпляры |
| 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 типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Это класс фабрики для создания нескольких генераторов случайных чисел определенного алгоритма. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |