Compartir a través de


Collections.SynchronizedSortedMap(IDictionary) Método

Definición

Devuelve un mapa ordenado sincronizado (seguro para subprocesos) respaldado por el mapa ordenado 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

el mapa ordenado que se va a "encapsular" en un mapa ordenado sincronizado.

Devoluciones

una vista sincronizada del mapa ordenado especificado.

Atributos

Comentarios

Devuelve un mapa ordenado sincronizado (seguro para subprocesos) respaldado por el mapa ordenado especificado. Para garantizar el acceso serie, es fundamental que <el acceso seguro>y< seguro> al mapa ordenado de respaldo se realice a través del mapa ordenado devuelto (o sus vistas).

Es imperativo que el usuario sincronice manualmente en el mapa ordenado devuelto al recorrer cualquiera de sus vistas de colección, o las vistas de colecciones de cualquiera de sus subMapvistas , headMap o tailMap , a través Iteratorde o Spliterator Stream:

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());
             }

O bien

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());
             }

Si no se sigue este consejo, se puede producir un comportamiento no determinista.

El mapa ordenado devuelto se serializará si el mapa ordenado especificado es serializable.

Documentación de Java para java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a