言語

Collections.SynchronizedSortedMap(IDictionary) メソッド

定義

指定した並べ替えられたマップに基づいて同期された (スレッド セーフな) 並べ替えられたマップを返します。

[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

パラメーター

m
IDictionary

同期された並べ替えられたマップに "ラップ" される並べ替えられたマップ。

返品

指定した並べ替えられたマップの同期ビュー。

属性

注釈

指定した並べ替えられたマップに基づいて同期された (スレッド セーフな) 並べ替えられたマップを返します。 シリアル アクセスを保証するために、 <strong>all</strong> のバッキング並べ替えられたマップへのアクセスは、返された並べ替えられたマップ (またはそのビュー) を介して実行することが重要です。

ユーザーは、返された並べ替えられたマップ上で、コレクション ビュー、または IteratorSpliterator、またはStreamを使用して、そのsubMapheadMap、またはtailMap ビューのコレクション ビューを走査するときに、手動で同期することが不可欠です。

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

or:

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

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

指定した並べ替えられたマップがシリアル化可能な場合、返される並べ替えられたマップはシリアル化可能になります。

Javaドキュメント。

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

適用対象