Compartilhar via


Collections.SynchronizedSortedMap(IDictionary) Método

Definição

Retorna um mapa classificado sincronizado (thread-safe) apoiado pelo mapa classificado especificado.

[Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static System.Collections.IDictionary SynchronizedSortedMap (System.Collections.IDictionary m);
[<Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedSortedMap : System.Collections.IDictionary -> System.Collections.IDictionary

Parâmetros

m
IDictionary

o mapa classificado a ser "embrulhado" em um mapa classificado sincronizado.

Retornos

Uma exibição sincronizada do mapa classificado especificado.

Atributos

Comentários

Retorna um mapa classificado sincronizado (thread-safe) apoiado pelo mapa classificado especificado. Para garantir o acesso serial, é fundamental que <o acesso forte<>> ao mapa classificado de apoio seja realizado através do mapa classificado retornado (ou suas visualizações).

É imperativo que o usuário sincronize manualmente no mapa classificado retornado ao percorrer qualquer uma de suas exibições de coleção, ou as exibições de coleções de qualquer uma de suas subMap, ou tailMap visualizações, via Iterator, Spliterator ou Stream: headMap

SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
                 ...
             Set s = m.keySet();  // Needn't be in synchronized block
                 ...
             synchronized (m) {  // Synchronizing on m, not s!
                 Iterator i = s.iterator(); // Must be in synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

ou:

SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
             SortedMap m2 = m.subMap(foo, bar);
                 ...
             Set s2 = m2.keySet();  // Needn't be in synchronized block
                 ...
             synchronized (m) {  // Synchronizing on m, not m2 or s2!
                 Iterator i = s2.iterator(); // Must be in synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

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

O mapa classificado retornado será serializável se o mapa classificado especificado for serializável.

Documentação Java para java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>).

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