語言

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)時,能產生二次行為。 一般清單演算法被鼓勵在應用若套用序列存取清單時效能不佳的演算法前,先檢查該清單是否屬於 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.util.RandomAccessJava 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

標記介面,實作用 List 以表示支援快速(通常是恆定時間)隨機存取。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
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)

擴充方法

名稱 Description
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 端是否有效。

適用於