HashSet 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.
Kelas ini mengimplementasikan Set antarmuka, didukung oleh tabel hash (sebenarnya HashMap instans).
[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface ISet
interface ICollection
interface IIterable
- Warisan
- Turunan
- Atribut
- Penerapan
Keterangan
Kelas ini mengimplementasikan Set antarmuka, didukung oleh tabel hash (sebenarnya HashMap instans). Ini tidak menjamin tentang urutan iterasi dari set; secara khusus, tidak menjamin bahwa pesanan akan tetap konstan dari waktu ke waktu. Kelas ini mengizinkan null elemen .
Kelas ini menawarkan performa waktu yang konstan untuk operasi dasar (add, remove, contains dan size), dengan asumsi fungsi hash menyebarkan elemen dengan benar di antara wadah. Iterasi di atas set ini membutuhkan waktu yang sebanding dengan jumlah HashSet ukuran instans (jumlah elemen) ditambah "kapasitas" instans backing HashMap (jumlah wadah). Dengan demikian, sangat penting untuk tidak mengatur kapasitas awal terlalu tinggi (atau faktor beban terlalu rendah) jika performa iterasi penting.
<kuat>Perhatikan bahwa implementasi ini tidak disinkronkan.</strong> Jika beberapa utas mengakses set hash secara bersamaan, dan setidaknya salah satu utas memodifikasi set, itu harus disinkronkan secara eksternal. Ini biasanya dicapai dengan menyinkronkan pada beberapa objek yang secara alami merangkum set.
Jika tidak ada objek seperti itu, set harus "dibungkus" menggunakan Collections#synchronizedSet Collections.synchronizedSet metode . Ini paling baik dilakukan pada waktu pembuatan, untuk mencegah akses tidak disengaja yang tidak disinkronkan ke set:
Set s = Collections.synchronizedSet(new HashSet(...));
Iterator yang dikembalikan oleh metode kelas iterator ini gagal cepat: jika set dimodifikasi kapan saja setelah iterator dibuat, dengan cara apa pun kecuali melalui metode iterator sendiri remove , Iterator melempar ConcurrentModificationException. Dengan demikian, dalam menghadapi modifikasi bersamaan, iterator gagal dengan cepat dan bersih, daripada berisiko perilaku arbitrer dan non-deterministik pada waktu yang tidak ditentukan di masa depan.
Perhatikan bahwa perilaku fail-fast dari iterator tidak dapat dijamin apa adanya, umumnya, tidak mungkin untuk membuat jaminan keras dengan adanya modifikasi bersamaan yang tidak disinkronkan. Iterator fail-fast melempar ConcurrentModificationException berdasarkan upaya terbaik. Oleh karena itu, akan salah untuk menulis program yang bergantung pada pengecualian ini untuk kebenarannya: perilaku iterator yang gagal cepat harus digunakan hanya untuk mendeteksi bug.
Kelas ini adalah anggota Java Collections Framework.
Ditambahkan dalam 1.2.
Java dokumentasi untuk java.util.HashSet.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Konstruktor
| Nama | Deskripsi |
|---|---|
| HashSet() |
Membangun set baru yang kosong; instans pendukung |
| HashSet(ICollection) |
Membuat set baru yang berisi elemen dalam koleksi yang ditentukan. |
| HashSet(Int32, Single) |
Membangun set baru yang kosong; instans pendukung |
| HashSet(Int32) |
Membangun set baru yang kosong; instans pendukung |
| HashSet(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsEmpty |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
Kelas ini mengimplementasikan |
| JniPeerMembers |
Kelas ini mengimplementasikan |
| PeerReference |
Mendapatkan referensi objek JNI untuk peer Java ini. (Diperoleh dari Object) |
| 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
| Nama | Deskripsi |
|---|---|
| Add(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| AddAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Clear() |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Clone() |
Mengembalikan salinan dangkal instans ini |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Kelas ini mengimplementasikan |
| Contains(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ContainsAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Dispose() |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| Dispose(Boolean) |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| DisposeUnlessReferenced() |
Kelas ini mengimplementasikan |
| Equals(Object) |
Kelas ini mengimplementasikan |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| Iterator() |
Mengembalikan iterator di atas elemen dalam set ini. |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| NewHashSet(Int32) |
Membuat HashSet baru yang kosong yang cocok untuk jumlah elemen yang diharapkan. |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| Remove(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| RemoveAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| RetainAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Kelas ini mengimplementasikan |
| Size() |
Mengembalikan jumlah elemen dalam set ini (kardinalitasnya). |
| Spliterator() |
<Membuat em>late-binding</em> dan <em>fail-fast</em> |
| ToArray() |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ToArray(Object[]) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ToArray<T>() |
Membuat array terkelola dari pembungkus array Java ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
Membatalkan pendaftaran peer Java ini dari runtime interop. (Diperoleh dari Object) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IJavaPeerable.Disposed() |
Kelas ini mengimplementasikan |
| IJavaPeerable.Finalized() |
Kelas ini mengimplementasikan |
| IJavaPeerable.JniObjectReferenceControlBlock |
Kelas ini mengimplementasikan |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kelas ini mengimplementasikan |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kelas ini mengimplementasikan |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Kelas ini mengimplementasikan |
| IJavaPeerable.UnregisterFromRuntime() |
Kelas ini mengimplementasikan |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Kelas ini mengimplementasikan |
| ToEnumerable(IIterable) |
Kelas ini mengimplementasikan |
| ToEnumerable<T>(IIterable) |
Kelas ini mengimplementasikan |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |