RandomGeneratorFactory 클래스

정의

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

[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 에서는 난수 생성기 알고리즘을 선택하는 메서드도 제공합니다.

인수 문자열이 필요한 알고리즘의 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

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Default

RandomGeneratorFactory 상태 비트가 64보다 크거나 같은 알고리즘을 갖는 최소한의 요구 사항을 충족하는 값을 반환합니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
IsArbitrarilyJumpable

임의 생성기가 상태 주기에서 임의로 지정된 먼 지점을 점프할 수 있으면 true를 반환합니다.

IsDeprecated

RandomGenerator(알고리즘)의 구현이 사용 중단으로 표시된 경우 true를 반환합니다.

IsHardware

임의 생성기가 HRNG(하드웨어 디바이스)를 사용하여 엔트로픽 입력을 생성하는 경우 true를 반환합니다.

IsJumpable

임의 생성기가 상태 주기에서 지정된 먼 지점을 점프할 수 있으면 true를 반환합니다.

IsLeapable

임의 생성기가 점프 가능하고 상태 주기에서 매우 먼 지점으로 도약할 수 있는 경우 true를 반환합니다.

IsSplittable

임의 생성기를 동일한 속성을 가진 별도의 개체로 복제할 수 있지만 상태 주기에서 더 배치할 수 있으면 true를 반환합니다.

IsStatistical

임의 생성기가 산술 알고리즘을 사용하여 계산되고 통계적으로 결정적이면 true를 반환합니다.

IsStochastic

임의 생성기가 외부 또는 엔트로픽 소스를 입력으로 사용하여 계산되는 경우 true를 반환합니다.

IsStreamable

임의 생성기를 사용하여 난수를 만들 java.util.stream.Stream Streams 수 있으면 true를 반환합니다.

JniIdentityHashCode

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

(다음에서 상속됨 Object)
JniPeerMembers

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

PeerReference

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)

메서드

Name Description
Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Create()

선택한 알고리즘에 따라 인스턴스 RandomGenerator 를 만듭니다.

Create(Byte[])

시작 바이트[] 시드를 제공하는 선택한 알고리즘에 따라 인스턴스 RandomGenerator 를 만듭니다.

Create(Int64)

시작 긴 시드를 제공하는 선택한 알고리즘에 따라 인스턴스 RandomGenerator 를 만듭니다.

Dispose()

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
Equidistribution()

알고리즘의 등가를 반환합니다.

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
Group()

난수 생성기에서 사용하는 알고리즘의 그룹 이름을 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Name()

난수 생성기에서 사용하는 알고리즘의 이름을 반환합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Of(String)

알고리즘을 RandomGeneratorFactory 활용하는 인스턴스를 RandomGenerator 생성할 수 있는 name값을 반환합니다.

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)

인스턴스 self형식의 JNI 이름을 가져옵니다.

JavaAs<TResult>(IJavaPeerable)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

특정 알고리즘의 여러 난수 생성기를 생성하기 위한 팩터리 클래스입니다.

TryJavaCast<TResult>(IJavaPeerable, TResult)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

적용 대상