Bagikan melalui


Collections.SynchronizedCollection(ICollection) Metode

Definisi

Mengembalikan koleksi yang disinkronkan (aman utas) yang didukung oleh koleksi yang ditentukan.

[Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.ICollection SynchronizedCollection(System.Collections.ICollection c);
[<Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedCollection : System.Collections.ICollection -> System.Collections.ICollection

Parameter

c
ICollection

koleksi yang akan "dibungkus" dalam koleksi yang disinkronkan.

Mengembalikan

tampilan yang disinkronkan dari koleksi yang ditentukan.

Atribut

Keterangan

Mengembalikan koleksi yang disinkronkan (aman utas) yang didukung oleh koleksi yang ditentukan. Untuk menjamin akses serial, sangat penting bahwa semua/ akses kuat yang kuat><> ke koleksi backing dicapai melalui koleksi yang <dikembalikan.

Sangat penting bahwa pengguna menyinkronkan secara manual pada koleksi yang dikembalikan saat melintas melalui Iterator, Spliterator atau Stream:

Collection c = Collections.synchronizedCollection(myCollection);
                ...
             synchronized (c) {
                 Iterator i = c.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                    foo(i.next());
             }

Kegagalan untuk mengikuti saran ini dapat mengakibatkan perilaku non-deterministik.

Koleksi yang dikembalikan tidak meneruskan hashCode operasi dan equals ke koleksi cadangan, tetapi bergantung pada Objectmetode sama dengan dan hashCode. Ini diperlukan untuk mempertahankan kontrak operasi ini jika koleksi cadangan adalah set atau daftar.

Koleksi yang dikembalikan akan dapat diserialisasikan jika koleksi yang ditentukan dapat diserialisasikan.

Dokumentasi Java untuk java.util.Collections.synchronizedCollection(java.util.Collection<T>).

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.

Berlaku untuk