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)時,能產生二次行為。 一般清單演算法被鼓勵在應用若套用序列存取清單時效能不佳的演算法前,先檢查該清單是否屬於 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 版本加入。
的 java.util.RandomAccessJava 檔。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
標記介面,實作用 |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
標記介面,實作用 |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
標記介面,實作用 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |