言語

IRandomAccess インターフェイス

定義

List実装で使用されるマーカー インターフェイスは、高速 (一般に一定の時間) ランダム アクセスをサポートしていることを示します。

[Android.Runtime.Register("java/util/RandomAccess", "", "Java.Util.IRandomAccessInvoker")]
public interface IRandomAccess : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/RandomAccess", "", "Java.Util.IRandomAccessInvoker")>]
type IRandomAccess = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

List実装で使用されるマーカー インターフェイスは、高速 (一般に一定の時間) ランダム アクセスをサポートしていることを示します。 このインターフェイスの主な目的は、汎用アルゴリズムがランダムまたはシーケンシャル アクセス リストに適用された場合に適切なパフォーマンスを提供するように、その動作を変更できるようにすることです。

ランダム アクセス リスト ( ArrayList など) を操作するための最適なアルゴリズムは、シーケンシャル アクセス リスト ( LinkedList など) に適用された場合に 2 次的な動作を生成できます。 汎用リスト アルゴリズムは、指定されたリストがこのインターフェイス instanceof であるかどうかを確認してから、シーケンシャル アクセス リストに適用された場合にパフォーマンスが低下するアルゴリズムを適用し、必要に応じて動作を変更して許容可能なパフォーマンスを保証することをお勧めします。

ランダム アクセスとシーケンシャル アクセスの区別はあいまいであることがよくあります。 たとえば、一部の List 実装では、大規模な場合は線形アクセス時間が提供されますが、実際には一定のアクセス時間が提供されます。 このような List 実装では、通常、このインターフェイスを実装する必要があります。 経験則として、クラスの一般的なインスタンスで次のループが実行される場合、 List 実装はこのインターフェイスを実装する必要があります。

for (int i=0, n=list.size(); i &lt; n; i++)
                    list.get(i);

は、次のループよりも高速に実行されます。

for (Iterator i=list.iterator(); i.hasNext(); )
                    i.next();

このインターフェイスは、Java コレクション フレームワークのメンバーです

1.4 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

List実装で使用されるマーカー インターフェイスは、高速 (一般に一定の時間) ランダム アクセスをサポートしていることを示します。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

List実装で使用されるマーカー インターフェイスは、高速 (一般に一定の時間) ランダム アクセスをサポートしていることを示します。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

List実装で使用されるマーカー インターフェイスは、高速 (一般に一定の時間) ランダム アクセスをサポートしていることを示します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象