Collections.SynchronizedNavigableMap(INavigableMap) Método

Definição

Retorna um mapa navegável sincronizado (thread-safe) apoiado pelo mapa navegável especificado.

[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

Parâmetros

m
INavigableMap

o mapa navegável a ser "encapsulado" em um mapa navegável sincronizado

Retornos

uma exibição sincronizada do mapa navegável especificado.

Atributos

Comentários

Retorna um mapa navegável sincronizado (thread-safe) apoiado pelo mapa navegável especificado. Para garantir o acesso serial, é fundamental que <o acesso forte>e forte<> ao mapa navegável de suporte seja realizado por meio do mapa navegável retornado (ou suas exibições).

É imprescindível que o usuário sincronize manualmente no mapa navegável retornado ao atravessar qualquer uma de suas exibições de coleção ou as exibições de coleções de qualquer uma de suas exibições headMap ou tailMap exibições por meio Iteratorde , Spliterator ou Stream:subMap

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

A falha ao seguir este conselho pode resultar em um comportamento não determinístico.

O mapa navegável retornado será serializável se o mapa navegável especificado for serializável.

Adicionado em 1.8.

Java documentação para java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap<K, V>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a