Linguaggio

Random Classe

Definizione

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 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
Ereditarietà
Derivato
Attributi
Implementazioni

Commenti

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>. La classe usa un valore di inizializzazione a 48 bit, che viene modificato usando una formula congruente lineare. (Vedere Donald E. Knuth, <cite>The Art of Computer Programming, Volume 2, Third edition: Seminumerical Algorithms</cite>, Section 3.2.1.)

Se vengono create due istanze di con lo stesso valore di Random inizializzazione e viene eseguita la stessa sequenza di chiamate al metodo per ognuna, genereranno e restituiranno sequenze identiche di numeri. Per garantire questa proprietà, vengono specificati algoritmi specifici per la classe Random. Java implementazioni devono usare tutti gli algoritmi illustrati qui per la classe Random, per motivi di portabilità assoluta del codice Java. Tuttavia, le sottoclassi della classe Random possono usare altri algoritmi, purché rispettino i contratti generali per tutti i metodi.

Gli algoritmi implementati dalla classe Random usano un protected metodo di utilità che in ogni chiamata può fornire fino a 32 bit generati pseudorandomamente.

Molte applicazioni troveranno il metodo Math#random più semplice da usare.

Le istanze di java.util.Random sono threadsafe. Tuttavia, l'uso simultaneo della stessa java.util.Random istanza tra thread può riscontrare contese e conseguente riduzione delle prestazioni. Prendere invece in considerazione l'uso java.util.concurrent.ThreadLocalRandom di nelle progettazioni multithreading.

Le istanze di non sono protette dal punto di java.util.Random vista crittografico. Prendere invece in considerazione l'uso java.security.SecureRandom di per ottenere un generatore di numeri pseudo-casuali sicuro crittograficamente per l'uso da parte di applicazioni sensibili alla sicurezza.

Aggiunta nella versione 1.0.

per java.util.Random.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
Random()

Crea un nuovo generatore di numeri casuali.

Random(Int64)

Crea un nuovo generatore di numeri casuali usando un singolo long valore di inizializzazione.

Random(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
JniPeerMembers

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Nome Descrizione
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
Equals(Object)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
From(IRandomGenerator)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Next(Int32)

Genera il numero pseudorandomo successivo.

NextBoolean()

Restituisce il valore pseudorandomo successivo, distribuito boolean in modo uniforme dalla sequenza del generatore di numeri casuali.

NextBytes(Byte[])

Genera byte casuali e li inserisce in una matrice di byte fornita dall'utente.

NextDouble()

Restituisce il valore pseudorandomo successivo, distribuito double in modo uniforme tra 0.0 e 1.0 dalla sequenza del generatore di numeri casuali.

NextFloat()

Restituisce il valore pseudorandomo successivo, distribuito float in modo uniforme tra 0.0 e 1.0 dalla sequenza del generatore di numeri casuali.

NextGaussian()

Restituisce il valore distribuito pseudorandomo successivo, gaussiano ("normalmente") double con deviazione 0.0 media 1.0 e standard dalla sequenza del generatore di numeri casuali.

NextInt()

Restituisce il valore pseudorandomo successivo, distribuito int in modo uniforme dalla sequenza del generatore di numeri casuali.

NextInt(Int32)

Restituisce uno pseudorandomo, distribuito int in modo uniforme tra 0 (inclusivo) e il valore specificato (esclusivo), estratto dalla sequenza del generatore di numeri casuali.

NextLong()

Restituisce il valore pseudorandomo successivo, distribuito long in modo uniforme dalla sequenza del generatore di numeri casuali.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
SetSeed(Int64)

Imposta il valore di inizializzazione di questo generatore di numeri casuali usando un singolo long valore di inizializzazione.

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

(Ereditato da JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Un'istanza di questa classe viene usata per generare un flusso di numeri pseudorandomi; il suo periodo è solo 2<sup>48</sup>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a