共用方式為


SparseArray 類別

定義

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

[Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class SparseArray : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type SparseArray = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
SparseArray
衍生
屬性
實作

備註

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。 SparseArray是要比 <cHashMap></c> 更有記憶體效率,因為它可避免自動 Boxing 索引鍵及其數據結構不依賴每個對應的額外項目物件。

請注意,此容器會使用二進位搜尋來尋找索引鍵,將其對應保留在陣列數據結構中。 實作不適用於可能包含大量專案的數據結構。 它通常比 慢, HashMap 因為查閱需要二進位搜尋,而且新增和移除需要插入和刪除數位中的專案。 對於保存最多數百個專案的容器,效能差異小於50%。

為了協助達到效能,容器會在移除索引鍵時包含優化:與其立即壓縮其陣列,而是讓移除的項目標示為已刪除。 然後,專案可以重新用於相同的索引鍵,或稍後在所有已移除專案的單一垃圾收集中壓縮。 每當陣列需要成長,或擷取地圖大小或專案值時,都必須執行此垃圾收集。

您可以使用 和 #valueAt(int)來逐一查看此容器#keyAt(int)中的專案。 使用 keyAt(int) 索引的遞增值逐一查看索引鍵,會以遞增順序傳回索引鍵。 在的案例 valueAt(int)中,對應至索引鍵的值會以遞增順序傳回。

android.util.SparseArrayJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

SparseArray()

建立不包含對應的新疏鬆Array。

SparseArray(Int32)

建立新的SparseArray,其中包含不需要任何額外的記憶體配置來儲存指定數目的對應。

SparseArray(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
JniIdentityHashCode

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
JniPeerMembers

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

PeerReference

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

Append(Int32, Object)

將索引鍵/值組放入陣列中,針對索引鍵大於陣列中所有現有索引鍵的情況進行優化。

Clear()

從這個疏鬆陣列中移除所有索引鍵/值對應。

Clone()

建立並傳回這個 Object的複本。

Contains(Int32)

如果索引鍵存在於陣列中,則傳回 true。

ContentEquals(SparseArray)

比較這個 SparseArray 的內容與指定的 SparseArray

ContentHashCode()

傳回這個 SparseArray內容的哈希碼值,結合 Objects#hashCode(Object) 其所有索引鍵和值的結果。

Delete(Int32)

如果有的話,從指定的索引鍵移除對應。

Dispose()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
Dispose(Boolean)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Get(Int32)

取得從指定索引鍵對應的物件,如果沒有進行這類對應, null 則為 。

Get(Int32, Object)

取得從指定索引鍵對應的物件,如果沒有進行這類對應,則取得指定的 Object。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
IndexOfKey(Int32)

#keyAt 回索引,如果指定的索引鍵未對應,則會傳回指定的索引鍵,或負數。

IndexOfValue(Object)

傳回索引,其 #valueAt 會傳回指定的值,如果沒有索引鍵對應至指定的值,則傳回負數。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
KeyAt(Int32)

指定範圍 0...size()-1中的索引,會從這個SparseArray儲存的第 index四個索引鍵值對應中傳回索引鍵。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Put(Int32, Object)

將指定索引鍵的對應新增至指定的值,如果有指定索引鍵,則會取代上一個來自指定索引鍵的對應。

Remove(Int32)

#delete(int)別名。

RemoveAt(Int32)

拿掉指定索引處的對應。

RemoveAtRange(Int32, Int32)

拿掉以批次表示的對應範圍。

Set(Int32, Object)

支援 Kotlin [index]= 運算子的 #put(int, Object) 別名。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetValueAt(Int32, Object)

指定範圍 0...size()-1中的索引,請設定這個疏鬆Array 儲存之 index第四個索引鍵/值對應的新值。

Size()

傳回這個疏鬆Array 目前儲存的索引鍵/值對應數目。

ToArray<T>()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
ValueAt(Int32)

在範圍 0...size()-1中指定索引時,會從這個疏鬆Array 儲存的第 index四個索引鍵/值對應中傳回值。

Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.Finalized()

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

GetJniTypeName(IJavaPeerable)

SparseArray 會將整數對應至 Objects,而且與 Objects 的一般數位不同,其索引可以包含間距。

適用於