Langage

Random Classe

Définition

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 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
Héritage
Dérivé
Attributs
Implémente

Remarques

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>. La classe utilise une valeur initiale 48 bits, qui est modifiée à l’aide d’une formule congruentiale linéaire. (Voir Donald E. Knuth, <cite>The Art of Computer Programming, Volume 2, Third edition : Seminumerical Algorithms</cite>, Section 3.2.1.)

Si deux instances de Random sont créées avec la même valeur initiale et que la même séquence d’appels de méthode est effectuée pour chacune d’elles, elles génèrent et retournent des séquences identiques de nombres. Pour garantir cette propriété, des algorithmes particuliers sont spécifiés pour la classe Random. Java implémentations doivent utiliser tous les algorithmes présentés ici pour la classeRandom, pour une portabilité absolue de Java code. Toutefois, les sous-classes de classe Random sont autorisées à utiliser d’autres algorithmes, tant qu’elles respectent les contrats généraux pour toutes les méthodes.

Les algorithmes implémentés par classe Random utilisent une protected méthode utilitaire qui, sur chaque appel, peut fournir jusqu’à 32 bits générés pseudo-randomment.

De nombreuses applications trouveront la méthode Math#random plus simple à utiliser.

Les instances de threadsafe sont des instances de java.util.Random threadsafe. Toutefois, l’utilisation simultanée de la même java.util.Random instance entre les threads peut rencontrer des conflits et des performances médiocres. Envisagez plutôt d’utiliser java.util.concurrent.ThreadLocalRandom des conceptions multithread.

Les instances de java.util.Random ne sont pas sécurisées par chiffrement. Envisagez plutôt d’utiliser java.security.SecureRandom pour obtenir un générateur de nombres pseudo-aléatoires sécurisés par chiffrement à utiliser par des applications sensibles à la sécurité.

Ajouté dans la version 1.0.

Java documentation pour java.util.Random.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

Nom Description
Random()

Crée un générateur de nombres aléatoires.

Random(Int64)

Crée un générateur de nombres aléatoires à l’aide d’une valeur initiale unique long .

Random(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
JniPeerMembers

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
Equals(Object)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
From(IRandomGenerator)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Next(Int32)

Génère le numéro pseudo-random suivant.

NextBoolean()

Retourne la valeur pseudo-random suivante, uniformément distribuée boolean à partir de la séquence du générateur de nombres aléatoires.

NextBytes(Byte[])

Génère des octets aléatoires et les place dans un tableau d’octets fourni par l’utilisateur.

NextDouble()

Retourne la pseudorandom suivante, uniformément distribuée double entre 0.0 et 1.0 à partir de la séquence du générateur de nombres aléatoires.

NextFloat()

Retourne la pseudorandom suivante, uniformément distribuée float entre 0.0 et 1.0 à partir de la séquence du générateur de nombres aléatoires.

NextGaussian()

Retourne la valeur distribuée double pseudorandom suivante, Gaussian (« normalement ») avec la moyenne 0.0 et l’écart 1.0 type de la séquence de ce générateur de nombres aléatoires.

NextInt()

Retourne la valeur pseudo-random suivante, uniformément distribuée int à partir de la séquence du générateur de nombres aléatoires.

NextInt(Int32)

Retourne un pseudo-random, une valeur distribuée int uniformément entre 0 (inclus) et la valeur spécifiée (exclusive), tirée de la séquence de ce générateur de nombres aléatoires.

NextLong()

Retourne la valeur pseudo-random suivante, uniformément distribuée long à partir de la séquence du générateur de nombres aléatoires.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
SetSeed(Int64)

Définit la valeur initiale de ce générateur de nombres aléatoires à l’aide d’une valeur initiale unique long .

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Une instance de cette classe est utilisée pour générer un flux de nombres pseudo-random ; sa période est seulement 2<sup 48>/sup<>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à