Collections.SynchronizedSortedMap(IDictionary) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 subMap
vistas , headMap
o tailMap
, a través Iterator
de 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.