RandomGeneratorFactory Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.
[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
- Vererbung
- Attribute
Hinweise
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.
RandomGeneratorFactory stellt außerdem Methoden zum Auswählen von Algorithmen für den Zufallszahlengenerator bereit.
Eine bestimmte RandomGeneratorFactory Kann mithilfe der RandomGeneratorFactory#of(String) Methode gefunden werden, wobei die Argumentzeichenfolge der Name des erforderlichen Algorithmus ist. Die Methode RandomGeneratorFactory#all() erzeugt eine nicht leere Stream aller verfügbaren, RandomGeneratorFactory RandomGeneratorFactorys die durchsucht werden können, um einen RandomGeneratorFactory geeigneten Für die Aufgabe zu finden.
Es gibt drei Methoden zum Erstellen einer RandomGenerator-Instanz, je nachdem, welche Art von Ausgangssamen erforderlich ist.
RandomGeneratorFactory#create(long) wird für den langen Saatgutbau verwendet, RandomGeneratorFactory#create(byte[]) wird für byte[] Saatgutkonstruktion verwendet und RandomGeneratorFactory#create() wird für die zufällige Saatgutkonstruktion verwendet. Beispiel;
{@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 stellt außerdem Methoden bereit, die die Attribute (oder Eigenschaften) eines Generators beschreiben und zum Auswählen von Algorithmen des Zufallszahlengenerators verwendet werden können. Diese Methoden werden in der Regel in Verbindung mit RandomGeneratorFactory#all(). In diesem Beispiel sucht der Code die RandomGeneratorFactory generierte RandomGenerator RandomGenerators Eigenschaft mit der höchsten Anzahl von Zustandsbits.
{@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());
}
Hinzugefügt in 17.
Java Dokumentation für java.util.random.RandomGeneratorFactory.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Default |
Gibt eine |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| IsArbitrarilyJumpable |
Gibt true zurück, wenn der Zufallsgenerator einen willkürlich angegebenen entfernten Punkt im Zustandszyklus springen kann. |
| IsDeprecated |
Gibt "true" zurück, wenn die Implementierung von RandomGenerator (Algorithmus) zur Deaktivierung markiert wurde. |
| IsHardware |
Gibt true zurück, wenn der Zufallsgenerator ein Hardwaregerät (HRNG) verwendet, um entropische Eingaben zu erzeugen. |
| IsJumpable |
Gibt true zurück, wenn der Zufallsgenerator einen angegebenen entfernten Punkt im Zustandszyklus springen kann. |
| IsLeapable |
Gibt true zurück, wenn der Zufallsgenerator sprungbar ist und zu einem sehr entfernten Punkt im Zustandszyklus springen kann. |
| IsSplittable |
Gibt true zurück, wenn der Zufallsgenerator in ein separates Objekt mit denselben Eigenschaften geklont werden kann, aber weiter im Zustandszyklus positioniert wird. |
| IsStatistical |
Gibt true zurück, wenn der Zufallsgenerator mit einem arithmetischen Algorithmus berechnet wird und statistisch deterministisch ist. |
| IsStochastic |
Gibt true zurück, wenn der Zufallsgenerator mit externen oder entropischen Quellen als Eingaben berechnet wird. |
| IsStreamable |
Gibt true zurück, wenn der Zufallsgenerator zum Erstellen |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| JniPeerMembers |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| Create() |
Erstellen Sie eine Instanz |
| Create(Byte[]) |
Erstellen Sie eine Instanz |
| Create(Int64) |
Erstellen Sie eine Instanz |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| Equals(Object) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| Equidistribution() |
Gibt die Äquidistribution des Algorithmus zurück. |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| Group() |
Gibt den Gruppennamen des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Name() |
Gibt den Namen des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird. |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| Of(String) |
Gibt einen |
| Period() |
Gibt den Zeitraum des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| StateBits() |
Gibt die Anzahl von Bits zurück, die vom Algorithmus verwendet werden, um den Status von Seed beizubehalten. |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. (Geerbt von JavaObject) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |