RandomGeneratorFactory Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
| Default |
Retorna uma |
| 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 |
| 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 |
| Create(Byte[]) |
Crie uma instância com |
| Create(Int64) |
Crie uma instância com |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| 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 |