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 コレクション フレームワークのメンバーです。
1.4 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
| 名前 | 説明 |
|---|---|
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
|
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| PeerReference |
ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。 (継承元 IJavaPeerable) |
メソッド
| 名前 | 説明 |
|---|---|
| Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
| DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 |
| Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
| SetJniIdentityHashCode(Int32) |
|
| SetJniManagedPeerState(JniManagedPeerStates) |
|
| SetPeerReference(JniObjectReference) |
|
| UnregisterFromRuntime() |
ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|