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

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

戻り値

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

属性

注釈

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

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

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

または

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 ドキュメント java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>)

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

適用対象