IRandomAccess インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
実装で使用される 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 < n; i++)
list.get(i);
は、次のループよりも高速に実行されます。
for (Iterator i=list.iterator(); i.hasNext(); )
i.next();
このインターフェイスは、 Java Collections Framework のメンバーです。
1.4 で追加されました。
の Java ドキュメント java.util.RandomAccess
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
JniIdentityHashCode |
ラップされたインスタンスの の |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
PeerReference |
JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。 (継承元 IJavaPeerable) |
メソッド
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 を呼び出 |
Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
SetJniIdentityHashCode(Int32) |
によって返される値を |
SetJniManagedPeerState(JniManagedPeerStates) |
実装で使用される |
SetPeerReference(JniObjectReference) |
によって返される値を |
UnregisterFromRuntime() |
ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
実装で使用される |
GetJniTypeName(IJavaPeerable) |
実装で使用される |