SparseArray Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
SparseArray memetakan bilangan bulat ke Objek dan, tidak seperti array Objek normal, indeksnya dapat berisi celah.
[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
- Warisan
- Turunan
- Atribut
- Penerapan
Keterangan
SparseArray memetakan bilangan bulat ke Objek dan, tidak seperti array Objek normal, indeksnya dapat berisi celah. SparseArray dimaksudkan untuk lebih hemat memori daripada <c>HashMap</c>, karena menghindari kunci tinju otomatis dan struktur datanya tidak bergantung pada objek entri tambahan untuk setiap pemetaan.
Perhatikan bahwa kontainer ini menyimpan pemetaannya dalam struktur data array, menggunakan pencarian biner untuk menemukan kunci. Implementasi tidak dimaksudkan untuk sesuai untuk struktur data yang mungkin berisi sejumlah besar item. Ini umumnya lebih lambat dari karena HashMap pencarian memerlukan pencarian biner, dan menambahkan dan menghapus mengharuskan menyisipkan dan menghapus entri dalam array. Untuk kontainer yang menyimpan hingga ratusan item, perbedaan performanya kurang dari 50%.
Untuk membantu performa, kontainer menyertakan pengoptimalan saat menghapus kunci: alih-alih memadamkan array-nya segera, kontainer meninggalkan entri yang dihapus ditandai sebagai dihapus. Entri kemudian dapat digunakan kembali untuk kunci yang sama atau dipadatkan nanti dalam satu kumpulan sampah dari semua entri yang dihapus. Pengumpulan sampah ini harus dilakukan setiap kali array perlu ditumbuhkan, atau ketika ukuran peta atau nilai entri diambil.
Dimungkinkan untuk melakukan iterasi atas item dalam kontainer ini menggunakan #keyAt(int) dan #valueAt(int). Melakukan iterasi pada kunci yang menggunakan keyAt(int) dengan nilai naik indeks mengembalikan kunci dalam urutan naik. Dalam kasus valueAt(int), nilai yang sesuai dengan kunci dikembalikan dalam urutan naik.
Dokumentasi Java untuk android.util.SparseArray.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.
Konstruktor
| SparseArray() |
Membuat SparseArray baru yang tidak berisi pemetaan. |
| SparseArray(Int32) |
Membuat SparseArray baru yang tidak berisi pemetaan yang tidak akan memerlukan alokasi memori tambahan untuk menyimpan jumlah pemetaan yang ditentukan. |
| SparseArray(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Properti
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| JniIdentityHashCode |
|
| JniPeerMembers |
|
| PeerReference |
|
| ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
| ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
Metode
| Append(Int32, Object) |
Menempatkan pasangan kunci/nilai ke dalam array, mengoptimalkan kasus di mana kunci lebih besar dari semua kunci yang ada dalam array. |
| Clear() |
Menghapus semua pemetaan nilai kunci dari SparseArray ini. |
| Clone() |
Membuat dan mengembalikan salinan ini |
| Contains(Int32) |
Mengembalikan true jika kunci ada dalam array. |
| ContentEquals(SparseArray) |
Membandingkan konten ini |
| ContentHashCode() |
Mengembalikan nilai kode hash untuk konten ini |
| Delete(Int32) |
Menghapus pemetaan dari kunci yang ditentukan, jika ada. |
| Dispose() |
|
| Dispose(Boolean) |
|
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| Get(Int32) |
Mendapatkan Objek yang dipetakan dari kunci yang ditentukan, atau |
| Get(Int32, Object) |
Mendapatkan Objek yang dipetakan dari kunci yang ditentukan, atau Objek yang ditentukan jika tidak ada pemetaan tersebut yang dibuat. |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| IndexOfKey(Int32) |
Mengembalikan indeks yang |
| IndexOfValue(Object) |
Mengembalikan indeks yang |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| KeyAt(Int32) |
Mengingat indeks dalam rentang |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| Put(Int32, Object) |
Menambahkan pemetaan dari kunci yang ditentukan ke nilai yang ditentukan, mengganti pemetaan sebelumnya dari kunci yang ditentukan jika ada. |
| Remove(Int32) |
Alias untuk |
| RemoveAt(Int32) |
Menghapus pemetaan pada indeks yang ditentukan. |
| RemoveAtRange(Int32, Int32) |
Hapus rentang pemetaan sebagai batch. |
| Set(Int32, Object) |
Alias untuk |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
| SetValueAt(Int32, Object) |
Mengingat indeks dalam rentang |
| Size() |
Mengembalikan jumlah pemetaan nilai kunci yang saat ini disimpan oleh SparseArray ini. |
| ToArray<T>() |
|
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
|
| ValueAt(Int32) |
Mengingat indeks dalam rentang |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.DisposeUnlessReferenced() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniManagedPeerState |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metode Ekstensi
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
| JavaCast<TResult>(IJavaObject) |
|
| GetJniTypeName(IJavaPeerable) |
|