Collections.SynchronizedNavigableMap(INavigableMap) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.
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.