Langage

IRandomGenerator Interface

Définition

L’interface RandomGenerator est conçue pour fournir un protocole commun pour les objets qui génèrent des séquences pseudorandom aléatoires ou (plus généralement) de nombres (ou valeurs booléennes).

[Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)]
public interface IRandomGenerator : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)>]
type IRandomGenerator = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Dérivé
Attributs
Implémente

Remarques

L’interface RandomGenerator est conçue pour fournir un protocole commun pour les objets qui génèrent des séquences pseudorandom aléatoires ou (plus généralement) de nombres (ou valeurs booléennes). Une telle séquence peut être obtenue en appelant à plusieurs reprises une méthode qui retourne une valeur unique pseudorandomly choisie, ou en appelant une méthode qui retourne un flux de valeurs pseudorandomly choisies.

Dans l’idéal, étant donné une plage de valeurs implicitement ou explicitement spécifiée, chaque valeur est choisie indépendamment et uniformément à partir de cette plage. Dans la pratique, il est possible que l’on se contente d’une certaine approximation de l’indépendance et de l’uniformité.

Dans le cas de int, longet boolean de valeurs, s’il n’existe aucune spécification explicite de plage, la plage inclut toutes les valeurs possibles du type. Dans le cas et floatdouble les valeurs, une valeur est toujours choisie uniformément à partir de l’ensemble de valeurs 2<sup>w</sup> comprises entre 0,0 (inclus) et 1,0 (exclusif), où w est Float#PRECISION pour float les valeurs et Double#PRECISION pour double les valeurs, de sorte que les valeurs adjacentes diffèrent par 2<sup>&moins ;w</sup> (notez que ce jeu est un sous-ensemble de l’ensemble de toutes les valeurs à virgule flottante représentées comprises entre 0,0 (inclus) et 1.0 (exclusif)) ; alors si une plage explicite a été spécifiée, le nombre choisi est mis à l’échelle de manière calculée et traduit afin d’avoir été choisi approximativement uniformément à partir de cette plage explicite.

Chaque méthode qui retourne un flux produit un flux de valeurs dont chacun est choisi de la même manière que pour une méthode qui retourne une valeur pseudo-aléatoire unique. Par exemple, si r elle est implémentée RandomGenerator, l’appel r.ints(100) de méthode retourne un flux de 100 int valeurs. Il ne s’agit pas nécessairement des mêmes valeurs qui auraient été retournées si, au lieu de cela r.nextInt() , avaient été appelées 100 fois ; tout ce qui est garanti est que chaque valeur du flux est choisie de manière pseudo-random similaire à partir de la même plage.

Chaque objet qui implémente l’interface à l’aide RandomGenerator d’un algorithme pseudo-random est supposé contenir une quantité d’état finie. L’utilisation d’un tel objet pour générer une valeur pseudo-choisie modifie son état en calculant un nouvel état en tant que fonction de l’état actuel, sans référence à aucune information autre que l’état actuel. Le nombre d’états possibles distincts d’un tel objet est appelé sa période. (Certaines implémentations de l’interface RandomGenerator peuvent être vraiment aléatoires plutôt que pseudorandom, par exemple en s’appuyant sur le comportement statistique d’un objet physique pour dériver des valeurs choisies. Ces implémentations n’ont pas de période fixe.)

En règle générale, les objets qui implémentent l’interface RandomGenerator n’ont pas besoin d’être thread-safe. Il est recommandé que les applications multithread utilisent ThreadLocalRandom soit ou (de préférence) des générateurs de pseudo-nombres qui implémentent l’interface ou SplittableGenerator l’interfaceJumpableGenerator.

Les objets qui implémentent RandomGenerator ne sont généralement pas sécurisés par chiffrement. Envisagez plutôt d’utiliser SecureRandom pour obtenir un générateur de pseudo-random sécurisé par chiffrement à utiliser par les applications sensibles à la sécurité. Notez toutefois que SecureRandom cela implémente l’interface RandomGenerator afin que les instances de SecureRandom peuvent être utilisées de manière interchangeable avec d’autres types de générateurs pseudo-random dans les applications qui ne nécessitent pas de générateur sécurisé.

Sauf indication explicite contraire, l’utilisation de null pour n’importe quel argument de méthode entraîne une exception NullPointerException.

Ajouté dans 17.

Documentation Java pour java.util.random.RandomGenerator.

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

Propriétés

Nom Description
Default

Retourne une RandomGenerator réponse à l’exigence minimale d’avoir un algorithme dont les bits d’état sont supérieurs ou 64 égaux.

Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
IsDeprecated

Retourne true si l’implémentation de RandomGenerator (algorithme) a été marquée pour dépréciation.

JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

L’interface RandomGenerator est conçue pour fournir un protocole commun pour les objets qui génèrent des séquences pseudorandom aléatoires ou (plus généralement) de nombres (ou valeurs booléennes).

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)

Méthodes

Nom Description
Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
NextBoolean()

Retourne une valeur pseudo-aléatoire choisie boolean .

NextBytes(Byte[])

Remplit un tableau d’octets fourni par l’utilisateur avec des valeurs d’octet générées pseudo-aléatoirement choisies de manière uniforme à partir de la plage de valeurs entre -128 (inclus) et 127 (inclus).

NextDouble()

Retourne une valeur pseudo-random double entre zéro (inclusif) et une (exclusive).

NextDouble(Double, Double)

Retourne une valeur pseudorandomiquement choisie double entre l’origine spécifiée (inclusive) et la limite spécifiée (exclusive).

NextDouble(Double)

Retourne une valeur pseudo-aléatoire choisie double entre zéro (inclusif) et la limite spécifiée (exclusive).

NextExponential()

Retourne une valeur non négative double pseudorandomiquement choisie à partir d’une distribution exponentielle dont la moyenne est 1.

NextFloat()

Retourne une valeur pseudo-random float entre zéro (inclusif) et une (exclusive).

NextFloat(Single, Single)

Retourne une valeur pseudorandomiquement choisie float entre l’origine spécifiée (inclusive) et la limite spécifiée (exclusive).

NextFloat(Single)

Retourne une valeur pseudo-aléatoire choisie float entre zéro (inclusif) et la limite spécifiée (exclusive).

NextGaussian()

Retourne une double valeur pseudorandomiquement choisie à partir d’une distribution gaussienne (normale) dont la moyenne est 0 et dont l’écart type est 1.

NextGaussian(Double, Double)

Retourne une double valeur pseudorandomiquement choisie à partir d’une distribution gaussienne (normale) avec une moyenne et un écart type spécifiés par les arguments.

NextInt()

Retourne une valeur pseudo-aléatoire choisie int .

NextInt(Int32, Int32)

Retourne une valeur pseudorandomiquement choisie int entre l’origine spécifiée (inclusive) et la limite spécifiée (exclusive).

NextInt(Int32)

Retourne une valeur pseudo-aléatoire choisie int entre zéro (inclusif) et la limite spécifiée (exclusive).

NextLong()

Retourne une valeur pseudo-aléatoire choisie long .

NextLong(Int64, Int64)

Retourne une valeur pseudorandomiquement choisie long entre l’origine spécifiée (inclusive) et la limite spécifiée (exclusive).

NextLong(Int64)

Retourne une valeur pseudo-aléatoire choisie long entre zéro (inclusif) et la limite spécifiée (exclusive).

Of(String)

Retourne une instance de RandomGenerator cet namealgorithme.

SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

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

L’interface RandomGenerator est conçue pour fournir un protocole commun pour les objets qui génèrent des séquences pseudorandom aléatoires ou (plus généralement) de nombres (ou valeurs booléennes).

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

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

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)

L’interface RandomGenerator est conçue pour fournir un protocole commun pour les objets qui génèrent des séquences pseudorandom aléatoires ou (plus généralement) de nombres (ou valeurs booléennes).

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

S’applique à