Random Classe

Definição

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

[Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)]
public class Random : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Util.RandomGenerators.IRandomGenerator
[<Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)>]
type Random = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IRandomGenerator
Herança
Derivado
Atributos
Implementações

Comentários

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>. A classe usa uma semente de 48 bits, que é modificada usando uma fórmula congruencial linear. (Consulte Donald E. Knuth, <cite>The Art of Computer Programming, Volume 2, Third edition: Seminumerical Algorithms</cite>, Section 3.2.1.)

Se duas instâncias forem Random criadas com a mesma semente e a mesma sequência de chamadas de método for feita para cada uma, elas gerarão e retornarão sequências idênticas de números. Para garantir essa propriedade, algoritmos específicos são especificados para a classe Random. Java implementações devem usar todos os algoritmos mostrados aqui para a classeRandom, para fins de portabilidade absoluta de Java código. No entanto, subclasses de classe Random têm permissão para usar outros algoritmos, desde que aderem aos contratos gerais para todos os métodos.

Os algoritmos implementados por classe Random usam um protected método utilitário que em cada invocação pode fornecer até 32 bits gerados pseudorandomly.

Muitos aplicativos acharão o método Math#random mais simples de usar.

As instâncias são java.util.Random threadsafe. No entanto, o uso simultâneo da mesma java.util.Random instância entre threads pode encontrar contenção e consequente desempenho ruim. Considere, em vez disso, usar java.util.concurrent.ThreadLocalRandom em designs multithreaded.

As instâncias não java.util.Random são criptograficamente seguras. Considere, em vez disso, usar java.security.SecureRandom para obter um gerador de número pseudo-aleatório criptograficamente seguro para uso por aplicativos sensíveis à segurança.

Adicionado em 1.0.

Java documentação para java.util.Random.

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

Construtores

Nome Description
Random()

Cria um novo gerador de número aleatório.

Random(Int64)

Cria um novo gerador de número aleatório usando uma única long semente.

Random(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
JniPeerMembers

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
Equals(Object)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
Equals(Object)

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

(Herdado de Object)
From(IRandomGenerator)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

GetHashCode()

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

(Herdado de Object)
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)
Next(Int32)

Gera o próximo número pseudorandom.

NextBoolean()

Retorna o próximo pseudorandom, valor distribuído boolean uniformemente da sequência desse gerador de número aleatório.

NextBytes(Byte[])

Gera bytes aleatórios e os coloca em uma matriz de bytes fornecida pelo usuário.

NextDouble()

Retorna o próximo pseudorandom, valor distribuído double uniformemente entre 0.0 e 1.0 da sequência desse gerador de número aleatório.

NextFloat()

Retorna o próximo pseudorandom, valor distribuído float uniformemente entre 0.0 e 1.0 da sequência desse gerador de número aleatório.

NextGaussian()

Retorna o próximo pseudorandom, valor distribuído double gaussiano ("normalmente") com desvio 0.0 médio 1.0 e padrão da sequência desse gerador de número aleatório.

NextInt()

Retorna o próximo pseudorandom, valor distribuído int uniformemente da sequência desse gerador de número aleatório.

NextInt(Int32)

Retorna um pseudorandom, valor distribuído int uniformemente entre 0 (inclusive) e o valor especificado (exclusivo), extraído da sequência desse gerador de número aleatório.

NextLong()

Retorna o próximo pseudorandom, valor distribuído long uniformemente da sequência desse gerador de número aleatório.

Notify()

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

(Herdado de Object)
NotifyAll()

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

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
SetSeed(Int64)

Define a semente desse gerador de número aleatório usando uma única long semente.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

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

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>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 ele seja despertado, normalmente por ser <>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()

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

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 marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Uma instância dessa classe é usada para gerar um fluxo de números pseudorandom; seu período é apenas 2<sup 48>/sup<>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Aplica-se a