CopyOnWriteArraySet 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.
Set yang menggunakan internal CopyOnWriteArrayList untuk semua operasinya.
[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArraySet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArraySet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Warisan
- Atribut
- Penerapan
Keterangan
Set yang menggunakan internal CopyOnWriteArrayList untuk semua operasinya. Dengan demikian, ia berbagi properti dasar yang sama: <ul><li>Paling cocok untuk aplikasi di mana ukuran yang ditetapkan umumnya tetap kecil, operasi baca-saja sangat kalah jumlah operasi mutatif, dan Anda perlu mencegah gangguan di antara utas selama traversal. <Li>Ini adalah utas-aman. <operasi Mutasi li>(add, set, , removedll.) mahal karena biasanya memerlukan penyalinan seluruh array yang mendasar. <li>Iterator tidak mendukung operasi mutasi remove . <li>Traversal melalui iterator cepat dan tidak dapat mengalami gangguan dari utas lain. Iterator mengandalkan rekam jepret array yang tidak berubah pada saat iterator dibangun. </Ul>
<b>Penggunaan Sampel.</b> Sketsa kode berikut menggunakan set copy-on-write untuk mempertahankan sekumpulan objek Handler yang melakukan beberapa tindakan saat pembaruan status.
{@code
class Handler { void handle() { ... } }
class X {
private final CopyOnWriteArraySet<Handler> handlers
= new CopyOnWriteArraySet<>();
public void addHandler(Handler h) { handlers.add(h); }
private long internalState;
private synchronized void changeState() { internalState = ...; }
public void update() {
changeState();
for (Handler handler : handlers)
handler.handle();
}
}}
Kelas ini adalah anggota Java Collections Framework.
Ditambahkan dalam 1.5.
Dokumentasi Java untuk java.util.concurrent.CopyOnWriteArraySet.
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
| CopyOnWriteArraySet() |
Membuat set kosong. |
| CopyOnWriteArraySet(ICollection) |
Membuat set yang berisi semua elemen koleksi yang ditentukan. |
| CopyOnWriteArraySet(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 |
|
| 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
| Add(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| AddAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Clear() |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| Contains(Object) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ContainsAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| Dispose() |
|
| Dispose(Boolean) |
|
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| ForEach(IConsumer) |
|
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| Iterator() |
Mengembalikan iterator atas elemen yang terkandung dalam set ini dalam urutan menambahkan elemen-elemen 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) |
| RemoveIf(IPredicate) |
|
| RetainAll(ICollection) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
| Size() |
Mengembalikan jumlah elemen dalam set ini. |
| Spliterator() |
Mengembalikan |
| ToArray() |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ToArray(Object[]) |
Untuk ditambahkan (Diperoleh dari AbstractCollection) |
| ToArray<T>() |
|
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
|
| 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 real time telah berlalu. (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) |
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) |
|
| ToEnumerable(IIterable) |
|
| ToEnumerable<T>(IIterable) |
|