Partager via


Collections.SynchronizedSortedMap(IDictionary) Méthode

Définition

Retourne une carte triée synchronisée (thread-safe) sauvegardée par la carte triée spécifiée.

[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

Paramètres

m
IDictionary

la carte triée à « wrapper » dans une carte triée synchronisée.

Retours

vue synchronisée de la carte triée spécifiée.

Attributs

Remarques

Retourne une carte triée synchronisée (thread-safe) sauvegardée par la carte triée spécifiée. Pour garantir l’accès en série, il est essentiel que <l’accès fort>> à la< carte triée de stockage soit effectué via la carte triée retournée (ou ses vues).

Il est impératif que l’utilisateur se synchronise manuellement sur la carte triée retournée lors de la traversée d’une de ses vues de collection, ou des vues de collections de l’un de ses subMapaffichages, tailMap headMap via Iterator, Spliterator ou 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());
             }

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

Le fait de ne pas suivre ces conseils peut entraîner un comportement non déterministe.

La carte triée retournée est sérialisable si la carte triée spécifiée est sérialisable.

Documentation Java pour java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à