LinkedHashSet Kelas

Definisi

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

[Android.Runtime.Register("java/util/LinkedHashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LinkedHashSet : Java.Util.HashSet, IDisposable, Java.Util.ISequencedSet
[<Android.Runtime.Register("java/util/LinkedHashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedHashSet = class
    inherit HashSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface ISequencedSet
    interface ISequencedCollection
    interface ICollection
    interface IIterable
    interface ISet
Warisan
Atribut
Penerapan

Keterangan

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik. Implementasi ini berbeda dari HashSet dalam bahwa ia mempertahankan daftar yang ditautkan doubly yang berjalan melalui semua entrinya. Daftar tertaut ini mendefinisikan urutan pertemuan (urutan iterasi), yang merupakan urutan di mana elemen dimasukkan ke dalam set (urutan penyisipan). Elemen yang terakhir dimasukkan (yang tertua) adalah yang pertama, dan elemen termuda terakhir. Perhatikan bahwa pesanan pertemuan tidak terpengaruh jika elemen dimasukkan kembali ke dalam set dengan add metode . (Elemen e diinserksi ulang ke dalam set s jika s.add(e) dipanggil ketika s.contains(e) akan segera kembali true sebelum pemanggilan.) Tampilan terbalik dari set ini berada dalam urutan yang berlawanan, dengan elemen termuda muncul pertama dan elemen tertua muncul terakhir. Urutan pertemuan elemen yang sudah ada dalam set dapat diubah dengan menggunakan #addFirst addFirst metode dan #addLast addLast .

Implementasi ini mengampuni kliennya dari urutan yang tidak ditentukan, umumnya kacau yang disediakan oleh HashSet, tanpa menimbulkan peningkatan biaya yang terkait dengan TreeSet. Ini dapat digunakan untuk menghasilkan salinan set yang memiliki urutan yang sama dengan aslinya, terlepas dari implementasi set asli:

{@code
                void foo(Set<String> s) {
                    Set<String> copy = new LinkedHashSet<>(s);
                    ...
                }
            }

Teknik ini sangat berguna jika modul mengambil set pada input, menyalinnya, dan kemudian mengembalikan hasil yang urutannya ditentukan oleh salinan. (Klien umumnya menghargai memiliki hal-hal yang dikembalikan dalam urutan yang sama seperti yang disajikan.)

Kelas ini menyediakan semua operasi dan Set opsionalSequencedSet, dan mengizinkan elemen null. Seperti HashSet, ini memberikan performa waktu konstan untuk operasi dasar (add, contains dan remove), dengan asumsi fungsi hash menyebarkan elemen dengan benar di antara wadah. Performa kemungkinan hanya sedikit di bawah , HashSetkarena biaya tambahan untuk mempertahankan daftar yang ditautkan, dengan satu pengecualian: Iterasi selama LinkedHashSet membutuhkan waktu yang sebanding dengan ukuran set, terlepas dari kapasitasnya. Iterasi atas HashSet kemungkinan akan lebih mahal, membutuhkan waktu sebanding dengan kapasitasnya.

Set hash tertaut memiliki dua parameter yang memengaruhi performanya: kapasitas awal dan faktor beban. Mereka didefinisikan dengan tepat seperti untuk HashSet. Namun, perhatikan bahwa penalti untuk memilih nilai yang terlalu tinggi untuk kapasitas awal kurang parah untuk kelas ini daripada untuk HashSet, karena waktu iterasi untuk kelas ini tidak terpengaruh oleh kapasitas.

<kuat>Perhatikan bahwa implementasi ini tidak disinkronkan.</strong> Jika beberapa utas mengakses set hash tertaut secara bersamaan, dan setidaknya salah satu utas memodifikasi set, maka <harus></em> 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 LinkedHashSet(...));

Iterator yang dikembalikan oleh metode kelas iterator ini adalah <em>fail-fast</em>: jika set dimodifikasi kapan saja setelah iterator dibuat, dengan cara apa pun kecuali melalui metode iterator sendiri remove , iterator akan 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.4.

Java dokumentasi untuk java.util.LinkedHashSet.

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
LinkedHashSet()

Membuat set hash tertaut baru yang kosong dengan kapasitas awal default (16) dan faktor beban (0.

LinkedHashSet(ICollection)

Membuat kumpulan hash tertaut baru dengan elemen yang sama dengan koleksi yang ditentukan.

LinkedHashSet(Int32, Single)

Membuat kumpulan hash tertaut baru yang kosong dengan kapasitas awal dan faktor beban yang ditentukan.

LinkedHashSet(Int32)

Membuat kumpulan hash tertaut baru yang kosong dengan kapasitas awal yang ditentukan dan faktor beban default (0.

LinkedHashSet(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
First

Untuk ditambahkan

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

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
JniPeerMembers

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

Last

Untuk ditambahkan

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)
AddFirst(Object)

Untuk ditambahkan

AddLast(Object)

Untuk ditambahkan

Clear()

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Clone()

Mengembalikan salinan dangkal instans ini HashSet : elemen itu sendiri tidak dikloning.

(Diperoleh dari HashSet)
Construct(JniObjectReference, JniObjectReferenceOptions)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
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()

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
Equals(Object)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
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.

(Diperoleh dari HashSet)
JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
NewLinkedHashSet(Int32)

Membuat LinkedHashSet 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)
RemoveFirst()

Untuk ditambahkan

RemoveLast()

Untuk ditambahkan

RetainAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Reversed()

Untuk ditambahkan

SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
Size()

Mengembalikan jumlah elemen dalam set ini (kardinalitasnya).

(Diperoleh dari HashSet)
Spliterator()

<Membuat em>late-binding</em> dan <em>fail-fast</em>Spliterator atas elemen dalam set ini.

(Diperoleh dari HashSet)
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()

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

ToEnumerable(IIterable)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

ToEnumerable<T>(IIterable)

Tabel hash dan implementasi daftar tertaut antarmuka Set , dengan urutan pertemuan yang terdefinisi dengan baik.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk