言語

Collections.SynchronizedNavigableMap(INavigableMap) メソッド

定義

指定したナビゲーション可能なマップに基づく同期された (スレッド セーフな) ナビゲーション可能なマップを返します。

[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

パラメーター

m
INavigableMap

ナビゲーション可能マップを同期されたナビゲーション可能マップに "ラップ" する

返品

指定されたナビゲート可能なマップの同期ビュー。

属性

注釈

指定したナビゲーション可能なマップに基づく同期された (スレッド セーフな) ナビゲーション可能なマップを返します。 シリアル アクセスを保証するために、 <strong>all</strong> へのアクセスは、返されたナビゲーション可能なマップ (またはそのビュー) を通じて実現することが重要です。

ユーザーは、返されたナビゲーション可能なマップで、そのコレクション ビュー、またはIteratorSpliterator、またはStreamを使用して、そのsubMapheadMap、またはtailMapビューのいずれかを走査するときに手動で同期することが不可欠です。

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

このアドバイスに従わないと、非決定的な動作が発生する可能性があります。

指定したナビゲーション可能マップがシリアル化可能な場合、返されるナビゲーション可能マップはシリアル化可能になります。

1.8 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象