RandomGeneratorFactory 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.
[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
- 상속
- 특성
설명
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.
RandomGeneratorFactory 에서는 난수 생성기 알고리즘을 선택하는 메서드도 제공합니다.
인수 문자열이 필요한 알고리즘의 RandomGeneratorFactory#of(String) 이름인 메서드를 사용하여 특정 RandomGeneratorFactory 값을 지정할 수 있습니다. 이 메서드 RandomGeneratorFactory#all() 는 작업에 적합한 항목을 찾기 RandomGeneratorFactory 위해 검색할 수 있는 사용 가능한 RandomGeneratorFactory RandomGeneratorFactorys 모든 항목의 비어 Stream 있지 않은 항목을 생성합니다.
필요한 초기 시드의 형식에 따라 RandomGenerator 인스턴스를 생성하는 세 가지 방법이 있습니다.
RandomGeneratorFactory#create(long) 는 긴 종자 생성에 사용되며, RandomGeneratorFactory#create(byte[]) 바이트[] 종자 생성에 사용되며 RandomGeneratorFactory#create() 임의 종자 생성에 사용됩니다. 예제;
{@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는 또한 생성기의 특성(또는 속성)을 설명하는 메서드를 제공하며 난수 생성기 알고리즘을 선택하는 데 사용할 수 있습니다. 이러한 메서드는 일반적으로 .와 함께 RandomGeneratorFactory#all()사용됩니다. 이 예제에서 코드는 가장 많은 수의 상태 비트로 생성되는 RandomGenerator RandomGenerators 값을 찾 RandomGeneratorFactory 습니다.
{@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());
}
17에 추가되었습니다.
에 대한 java.util.random.RandomGeneratorFactoryJava 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
속성
| Name | Description |
|---|---|
| Class |
이 |
| Default |
|
| Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
| IsArbitrarilyJumpable |
임의 생성기가 상태 주기에서 임의로 지정된 먼 지점을 점프할 수 있으면 true를 반환합니다. |
| IsDeprecated |
RandomGenerator(알고리즘)의 구현이 사용 중단으로 표시된 경우 true를 반환합니다. |
| IsHardware |
임의 생성기가 HRNG(하드웨어 디바이스)를 사용하여 엔트로픽 입력을 생성하는 경우 true를 반환합니다. |
| IsJumpable |
임의 생성기가 상태 주기에서 지정된 먼 지점을 점프할 수 있으면 true를 반환합니다. |
| IsLeapable |
임의 생성기가 점프 가능하고 상태 주기에서 매우 먼 지점으로 도약할 수 있는 경우 true를 반환합니다. |
| IsSplittable |
임의 생성기를 동일한 속성을 가진 별도의 개체로 복제할 수 있지만 상태 주기에서 더 배치할 수 있으면 true를 반환합니다. |
| IsStatistical |
임의 생성기가 산술 알고리즘을 사용하여 계산되고 통계적으로 결정적이면 true를 반환합니다. |
| IsStochastic |
임의 생성기가 외부 또는 엔트로픽 소스를 입력으로 사용하여 계산되는 경우 true를 반환합니다. |
| IsStreamable |
임의 생성기를 사용하여 난수를 만들 |
| JniIdentityHashCode |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| JniPeerMembers |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. |
| PeerReference |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
| ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
메서드
| Name | Description |
|---|---|
| Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
| Create() |
선택한 알고리즘에 따라 인스턴스 |
| Create(Byte[]) |
시작 바이트[] 시드를 제공하는 선택한 알고리즘에 따라 인스턴스 |
| Create(Int64) |
시작 긴 시드를 제공하는 선택한 알고리즘에 따라 인스턴스 |
| Dispose() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| Dispose(Boolean) |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
| Equidistribution() |
알고리즘의 등가를 반환합니다. |
| GetHashCode() |
개체에 대한 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
| Group() |
난수 생성기에서 사용하는 알고리즘의 그룹 이름을 반환합니다. |
| JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
| Name() |
난수 생성기에서 사용하는 알고리즘의 이름을 반환합니다. |
| Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
| NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
| Of(String) |
알고리즘을 |
| Period() |
난수 생성기에서 사용하는 알고리즘의 기간을 반환합니다. |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
| StateBits() |
시드 상태를 유지하기 위해 알고리즘에서 사용하는 비트 수를 반환합니다. |
| ToArray<T>() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
| UnregisterFromRuntime() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| Wait() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.> (다음에서 상속됨 Object) |
| Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
| Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IJavaPeerable.Disposed() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.Finalized() |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.JniManagedPeerState |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. (다음에서 상속됨 Object) |
확장명 메서드
| Name | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
인스턴스 |
| JavaAs<TResult>(IJavaPeerable) |
형식 |
| JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
| JavaCast<TResult>(IJavaObject) |
특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
형식 |