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.Interop.IJavaPeerable, 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 sendiriremove
, 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.
Dokumentasi Java untuk java.util.HashSet
.
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
HashSet() |
Membangun set baru yang kosong; instans pendukung |
HashSet(ICollection) |
Membuat set baru yang berisi elemen dalam koleksi yang ditentukan. |
HashSet(Int32) |
Membangun set baru yang kosong; instans pendukung |
HashSet(Int32, Single) |
Membangun set baru yang kosong; instans pendukung |
HashSet(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) |
IsEmpty |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
JniIdentityHashCode |
Kelas ini mengimplementasikan |
JniPeerMembers |
Kelas ini mengimplementasikan |
PeerReference |
Kelas ini mengimplementasikan |
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
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 |
Contains(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
ContainsAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
Dispose() |
Kelas ini mengimplementasikan |
Dispose(Boolean) |
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) |
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) |
Handle Mengatur properti. (Diperoleh dari Object) |
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>() |
Kelas ini mengimplementasikan |
ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
UnregisterFromRuntime() |
Kelas ini mengimplementasikan |
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() |
Kelas ini mengimplementasikan |
IJavaPeerable.DisposeUnlessReferenced() |
Kelas ini mengimplementasikan |
IJavaPeerable.Finalized() |
Kelas ini mengimplementasikan |
IJavaPeerable.JniManagedPeerState |
Kelas ini mengimplementasikan |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kelas ini mengimplementasikan |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kelas ini mengimplementasikan |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Kelas ini mengimplementasikan |
Metode Ekstensi
JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
JavaCast<TResult>(IJavaObject) |
Kelas ini mengimplementasikan |
GetJniTypeName(IJavaPeerable) |
Kelas ini mengimplementasikan |
ToEnumerable(IIterable) |
Kelas ini mengimplementasikan |
ToEnumerable<T>(IIterable) |
Kelas ini mengimplementasikan |