Condividi tramite


Collections.SynchronizedSortedMap(IDictionary) Metodo

Definizione

Restituisce una mappa ordinata sincronizzata (thread-safe) supportata dalla mappa ordinata specificata.

[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

Parametri

m
IDictionary

mappa ordinata per essere "sottoposta a wrapping" in una mappa ordinata sincronizzata.The sorted map to be "wrapped" in a synchronized sorted map.

Restituisce

una vista sincronizzata della mappa ordinata specificata.

Attributi

Commenti

Restituisce una mappa ordinata sincronizzata (thread-safe) supportata dalla mappa ordinata specificata. Per garantire l'accesso seriale, è fondamentale che <>venga eseguito un accesso sicuro e sicuro<> alla mappa ordinata sottostante tramite la mappa ordinata restituita (o le relative visualizzazioni).

È fondamentale che l'utente si sincronizzi manualmente sulla mappa ordinata restituita durante l'attraversamento di una delle visualizzazioni della raccolta o delle raccolte di una delle subMapvisualizzazioni , headMap o tailMap , tramite Iteratoro 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());
             }

oppure:

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

Se non si segue questo consiglio, è possibile che si verifichi un comportamento non deterministico.

La mappa ordinata restituita sarà serializzabile se la mappa ordinata specificata è serializzabile.

Documentazione java per java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a