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 en 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 se sincronice manualmente en el mapa ordenado devuelto al recorrer cualquiera de sus vistas de colección, o bien las vistas de colecciones de cualquiera de sus subMapvistas , headMap o tailMap , a través Iteratorde o SpliteratorStream:

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 será serializable 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 y se usan según los términos descritos en la creative Commons 2.5.

Se aplica a