CopyOnWriteArrayList 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.
Varian java.util.ArrayList aman utas di mana semua operasi mutasi (add, set, dan sebagainya) diimplementasikan dengan membuat salinan baru dari array yang mendasar.
[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArrayList : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IList, Java.Util.IRandomAccess
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArrayList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArrayList = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface IList
interface ICollection
interface IIterable
interface ISequencedCollection
interface IRandomAccess
- Warisan
- Atribut
- Penerapan
Keterangan
Varian java.util.ArrayList aman utas di mana semua operasi mutasi (add, set, dan sebagainya) diimplementasikan dengan membuat salinan baru dari array yang mendasar.
Ini biasanya terlalu mahal, tetapi mungkin <em>lebih<> efisien daripada alternatif ketika operasi traversal sangat melebihi mutasi jumlah, dan berguna ketika Anda tidak dapat atau tidak ingin menyinkronkan traversal, namun perlu menghalangi gangguan di antara utas bersamaan. Metode iterator gaya "rekam jepret" menggunakan referensi ke status array pada titik pembuatan iterator. Array ini tidak pernah berubah selama masa pakai iterator, sehingga gangguan tidak mungkin dan iterator dijamin untuk tidak melemparkan ConcurrentModificationException. Iterator tidak akan mencerminkan penambahan, penghapusan, atau perubahan pada daftar sejak iterator dibuat. Operasi yang mengubah elemen pada iterator itu sendiri (remove, set, dan add) tidak didukung. Metode ini melemparkan UnsupportedOperationException.
Semua elemen diizinkan, termasuk null.
Efek konsistensi memori: Seperti halnya koleksi bersamaan lainnya, tindakan dalam utas sebelum menempatkan objek ke dalam CopyOnWriteArrayList<tindakan i>happen-before</i> selanjutnya ke akses atau penghapusan elemen tersebut CopyOnWriteArrayList dari di utas lain.
Kelas ini adalah anggota Java Collections Framework.
Ditambahkan dalam 1.5.
Java dokumentasi untuk java.util.concurrent.CopyOnWriteArrayList.
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 |
|---|---|
| CopyOnWriteArrayList() |
Membuat daftar kosong. |
| CopyOnWriteArrayList(ICollection) |
Membuat daftar yang berisi elemen koleksi yang ditentukan, dalam urutan yang dikembalikan oleh iterator koleksi. |
| CopyOnWriteArrayList(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
| CopyOnWriteArrayList(Object[]) |
Membuat daftar yang menyimpan salinan array yang diberikan. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| First |
Untuk ditambahkan |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsEmpty |
Mengembalikan |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
Varian |
| JniPeerMembers |
Varian |
| 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(Int32, Object) |
Sisipkan elemen yang ditentukan pada posisi yang ditentukan dalam daftar ini. |
| Add(Object) |
Menambahkan elemen yang ditentukan ke akhir daftar ini. |
| AddAll(ICollection) |
Menambahkan semua elemen dalam koleksi yang ditentukan ke akhir daftar ini, dalam urutan pengembaliannya oleh iterator koleksi yang ditentukan. |
| AddAll(Int32, ICollection) |
Menyisipkan semua elemen dalam koleksi yang ditentukan ke dalam daftar ini, dimulai pada posisi yang ditentukan. |
| AddAllAbsent(ICollection) |
Menambahkan semua elemen dalam koleksi yang ditentukan yang belum terkandung dalam daftar ini, ke akhir daftar ini, dalam urutan yang dikembalikan oleh iterator koleksi yang ditentukan. |
| AddFirst(Object) |
Untuk ditambahkan |
| AddIfAbsent(Object) |
Menambahkan elemen, jika tidak ada. |
| AddLast(Object) |
Untuk ditambahkan |
| Clear() |
Menghapus semua elemen dari daftar ini. |
| Clone() |
Mengembalikan salinan dangkal dari daftar ini. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Varian |
| Contains(Object) |
Mengembalikan |
| ContainsAll(ICollection) |
Mengembalikan |
| 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() |
Varian |
| Equals(Object) |
Varian |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| ForEach(IConsumer) |
Varian |
| Get(Int32) |
Untuk ditambahkan |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| IndexOf(Object, Int32) |
Mengembalikan indeks kemunculan pertama elemen yang ditentukan dalam daftar ini, mencari maju dari |
| IndexOf(Object) |
Untuk ditambahkan |
| Iterator() |
Mengembalikan iterator atas elemen dalam daftar ini dalam urutan yang tepat. |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| LastIndexOf(Object, Int32) |
Mengembalikan indeks kemunculan terakhir elemen yang ditentukan dalam daftar ini, mencari mundur dari |
| LastIndexOf(Object) |
Untuk ditambahkan |
| ListIterator() |
Untuk ditambahkan |
| ListIterator(Int32) |
Untuk ditambahkan |
| 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(Int32) |
Menghapus elemen pada posisi yang ditentukan dalam daftar ini. |
| Remove(Object) |
Menghapus kemunculan pertama elemen yang ditentukan dari daftar ini, jika ada. |
| RemoveAll(ICollection) |
Menghapus dari daftar ini semua elemennya yang terkandung dalam koleksi yang ditentukan. |
| RemoveFirst() |
Untuk ditambahkan |
| RemoveIf(IPredicate) |
Varian |
| RemoveLast() |
Untuk ditambahkan |
| ReplaceAll(IUnaryOperator) |
Varian |
| RetainAll(ICollection) |
Hanya mempertahankan elemen dalam daftar ini yang terkandung dalam koleksi yang ditentukan. |
| Reversed() |
Untuk ditambahkan |
| Set(Int32, Object) |
Mengganti elemen pada posisi yang ditentukan dalam daftar ini dengan elemen yang ditentukan. |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Varian |
| Size() |
Mengembalikan jumlah elemen dalam daftar ini. |
| Sort(IComparator) |
Varian |
| Spliterator() |
Mengembalikan |
| SubList(Int32, Int32) |
Mengembalikan tampilan bagian dari daftar ini antara |
| ToArray() |
Mengembalikan array yang berisi semua elemen dalam daftar ini dalam urutan yang tepat (dari elemen pertama hingga terakhir). |
| ToArray(Object[]) |
Mengembalikan array yang berisi semua elemen dalam daftar ini dalam urutan yang tepat (dari elemen pertama hingga terakhir); jenis runtime array yang dikembalikan adalah array yang ditentukan. |
| 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() |
Varian |
| IJavaPeerable.Finalized() |
Varian |
| IJavaPeerable.JniObjectReferenceControlBlock |
Varian |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Varian |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Varian |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Varian |
| IJavaPeerable.UnregisterFromRuntime() |
Varian |
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) |
Varian |
| ToEnumerable(IIterable) |
Varian |
| ToEnumerable<T>(IIterable) |
Varian |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |