RandomGeneratorFactory Classe

Definição

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um 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
Herança
RandomGeneratorFactory
Atributos

Comentários

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico. RandomGeneratorFactory também fornece métodos para selecionar algoritmos de gerador de número aleatório.

Um específico RandomGeneratorFactory pode ser localizado usando o RandomGeneratorFactory#of(String) método, em que a cadeia de caracteres de argumento é o nome do algoritmo necessário. O método RandomGeneratorFactory#all() produz um não vazio Stream de todos os disponíveis RandomGeneratorFactory RandomGeneratorFactorys que podem ser pesquisados para localizar um RandomGeneratorFactory adequado para a tarefa.

Há três métodos para construir uma instância RandomGenerator, dependendo do tipo de semente inicial necessária. RandomGeneratorFactory#create(long) é usado para construção de sementes longas, RandomGeneratorFactory#create(byte[]) é usado para construção de sementes byte[] e RandomGeneratorFactory#create() é usado para construção aleatória de sementes. Exemplo;

{@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 também fornece métodos que descrevem os atributos (ou propriedades) de um gerador e podem ser usados para selecionar algoritmos de gerador de número aleatório. Esses métodos normalmente são usados em conjunto com RandomGeneratorFactory#all(). Neste exemplo, o código localiza o RandomGeneratorFactory que produz RandomGenerator RandomGenerators com o maior número 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());
            }

Adicionado em 17.

Java documentação para java.util.random.RandomGeneratorFactory.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Propriedades

Nome Description
Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Default

Retorna uma RandomGeneratorFactory reunião com o requisito mínimo de ter um algoritmo cujos bits de estado são maiores ou iguais a 64.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
IsArbitrarilyJumpable

Retornará true se o gerador aleatório puder saltar um ponto distante especificado arbitrariamente no ciclo de estado.

IsDeprecated

Retornará true se a implementação de RandomGenerator (algoritmo) tiver sido marcada para substituição.

IsHardware

Retornará true se o gerador aleatório usar um HRNG (dispositivo de hardware) para produzir entrada enrópica.

IsJumpable

Retornará true se o gerador aleatório puder saltar um ponto distante especificado no ciclo de estado.

IsLeapable

Retornará true se o gerador aleatório for acessível e puder saltar para um ponto muito distante no ciclo de estado.

IsSplittable

Retornará true se o gerador aleatório puder ser clonado em um objeto separado com as mesmas propriedades, mas posicionado ainda mais no ciclo de estado.

IsStatistical

Retornará true se o gerador aleatório for computado usando um algoritmo aritmético e for determinístico estatística.

IsStochastic

Retornará true se o gerador aleatório for calculado usando fontes externas ou intrópicas como entradas.

IsStreamable

Retornará true se o gerador aleatório puder ser usado para criar java.util.stream.Stream Streams números aleatórios.

JniIdentityHashCode

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
JniPeerMembers

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

PeerReference

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
ThresholdClass

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Create()

Crie uma instância com RandomGenerator base no algoritmo escolhido.

Create(Byte[])

Crie uma instância com RandomGenerator base no algoritmo escolhido fornecendo uma semente de byte inicial.

Create(Int64)

Crie uma instância com RandomGenerator base no algoritmo escolhido fornecendo uma semente longa inicial.

Dispose()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
Dispose(Boolean)

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
Equidistribution()

Retorna a equidistribução do algoritmo.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
Group()

Retorne o nome do grupo do algoritmo usado pelo gerador de número aleatório.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Name()

Retorne o nome do algoritmo usado pelo gerador de número aleatório.

Notify()

Ativa um único thread que está aguardando no monitor desse objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Of(String)

Retorna um RandomGeneratorFactory que pode produzir instâncias que RandomGenerator utilizam o namealgoritmo.

Period()

Retorne o período do algoritmo usado pelo gerador de número aleatório.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
StateBits()

Retorna o número de bits usados pelo algoritmo para manter o estado da semente.

ToArray<T>()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.Finalized()

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

(Herdado de Object)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Essa é uma classe de fábrica para gerar vários geradores de número aleatório de um algoritmo específico.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a