Langage

Collections.SynchronizedNavigableMap(INavigableMap) Méthode

Définition

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

[Android.Runtime.Register("synchronizedNavigableMap", "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static Java.Util.INavigableMap SynchronizedNavigableMap(Java.Util.INavigableMap m);
[<Android.Runtime.Register("synchronizedNavigableMap", "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedNavigableMap : Java.Util.INavigableMap -> Java.Util.INavigableMap

Paramètres

m
INavigableMap

la carte navigable à « encapsuler » dans une carte navigable synchronisée

Retours

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

Attributs

Remarques

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

Il est impératif que l’utilisateur se synchronise manuellement sur la carte navigable retournée lors de la traversée de l’un de ses affichages de collection, ou des vues de collections de l’un de ses subMapaffichages tailMapheadMap, via Iterator, Spliterator ou Stream:

NavigableMap m = Collections.synchronizedNavigableMap(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());
             }

or:

NavigableMap m = Collections.synchronizedNavigableMap(new TreeMap());
             NavigableMap m2 = m.subMap(foo, true, bar, false);
                 ...
             Set s2 = m2.keySet();  // Needn't be in synchronized block
                 ...
             synchronized (m) {  // Synchronizing on m, not m2 or s2!
                 Iterator i = s.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 navigable retournée peut être sérialisable si la carte navigable spécifiée est sérialisable.

Ajouté dans la version 1.8.

Java documentation pour java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap<K, V>).

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

S’applique à