RandomGeneratorFactory Clase

Definición

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

[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
Herencia
RandomGeneratorFactory
Atributos

Comentarios

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico. RandomGeneratorFactory también proporciona métodos para seleccionar algoritmos de generador de números aleatorios.

Un específico RandomGeneratorFactory se puede ubicar mediante el RandomGeneratorFactory#of(String) método , donde la cadena de argumento es el nombre del algoritmo necesario. El método RandomGeneratorFactory#all() genera un valor no vacío Stream de todos los disponibles RandomGeneratorFactory RandomGeneratorFactorys que se pueden buscar para buscar un RandomGeneratorFactory adecuado para la tarea.

Hay tres métodos para construir una instancia randomGenerator, en función del tipo de inicialización necesaria. RandomGeneratorFactory#create(long) se utiliza para la construcción de inicialización larga, RandomGeneratorFactory#create(byte[]) se utiliza para la construcción de inicialización byte[] y RandomGeneratorFactory#create() se utiliza para la construcción aleatoria de inicialización. Ejemplo;

{@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 también proporciona métodos que describen los atributos (o propiedades) de un generador y se pueden usar para seleccionar algoritmos de generador de números aleatorios. Estos métodos se usan normalmente junto con RandomGeneratorFactory#all(). En este ejemplo, el código busca el RandomGeneratorFactory que genera RandomGenerator RandomGenerators con el número más alto de bits de estado.

{@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());
            }

Agregado en 17.

Java documentación para java.util.random.RandomGeneratorFactory.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Default

Devuelve un RandomGeneratorFactory requisito mínimo de tener un algoritmo cuyos bits de estado sean mayores o iguales a 64.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsArbitrarilyJumpable

Devuelve true si el generador aleatorio puede saltar un punto lejano especificado arbitrariamente en el ciclo de estado.

IsDeprecated

Devuelve true si la implementación de RandomGenerator (algoritmo) se ha marcado para desuso.

IsHardware

Devuelve true si el generador aleatorio usa un dispositivo de hardware (HRNG) para producir entradas entrópicos.

IsJumpable

Devuelve true si el generador aleatorio puede saltar un punto lejano especificado en el ciclo de estado.

IsLeapable

Devuelve true si el generador aleatorio es saltable y puede saltar a un punto muy lejano en el ciclo de estado.

IsSplittable

Devuelve true si el generador aleatorio se puede clonar en un objeto independiente con las mismas propiedades, pero se coloca más en el ciclo de estado.

IsStatistical

Devuelve true si el generador aleatorio se calcula mediante un algoritmo aritmético y es estadísticamente determinista.

IsStochastic

Devuelve true si el generador aleatorio se calcula mediante orígenes externos o entrópicos como entradas.

IsStreamable

Devuelve true si se puede usar el generador aleatorio para crear java.util.stream.Stream Streams números aleatorios.

JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
JniPeerMembers

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
Create()

Cree una instancia de RandomGenerator basada en el algoritmo elegido.

Create(Byte[])

Cree una instancia de RandomGenerator basada en el algoritmo elegido para proporcionar una inicialización byte[].

Create(Int64)

Cree una instancia de RandomGenerator basada en el algoritmo elegido para proporcionar una inicialización larga inicial.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
Equals(Object)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Equidistribution()

Devuelve la equidistribución del algoritmo.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
Group()

Devuelve el nombre de grupo del algoritmo utilizado por el generador de números aleatorios.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Name()

Devuelve el nombre del algoritmo utilizado por el generador de números aleatorios.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Of(String)

Devuelve un RandomGeneratorFactory objeto que puede generar instancias de RandomGenerator que usan el namealgoritmo.

Period()

Devuelve el período del algoritmo utilizado por el generador de números aleatorios.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
StateBits()

Devuelve el número de bits usados por el algoritmo para mantener el estado de inicialización.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Se trata de una clase de fábrica para generar varios generadores de números aleatorios de un algoritmo específico.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a