Compartilhar via


Collections.SynchronizedCollection(ICollection) Método

Definição

Retorna uma coleção sincronizada (thread-safe) apoiada pela coleção especificada.

[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

Parâmetros

c
ICollection

a coleção a ser "embrulhada" em uma coleção sincronizada.

Retornos

Uma exibição sincronizada da coleção especificada.

Atributos

Comentários

Retorna uma coleção sincronizada (thread-safe) apoiada pela coleção especificada. Para garantir o acesso serial, é fundamental que <o acesso forte<>> à coleção de suporte seja realizado por meio da coleção retornada.

É imprescindível que o usuário sincronize manualmente a coleção retornada ao percorrê-la via Iterator, Spliterator ou Stream:

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

O não cumprimento deste conselho pode resultar em comportamento não determinístico.

A coleção retornada não passa as hashCode operações e equals para a coleção de suporte, mas depende Objectdos métodos equals e hashCode do . Isso é necessário para preservar os contratos dessas operações no caso de a cobrança de lastro ser um conjunto ou uma lista.

A coleção retornada será serializável se a coleção especificada for serializável.

Documentação Java para java.util.Collections.synchronizedCollection(java.util.Collection<T>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a