言語

Collections.SynchronizedCollection(ICollection) メソッド

定義

指定したコレクションに基づく同期された (スレッド セーフな) コレクションを返します。

[Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static System.Collections.ICollection SynchronizedCollection(System.Collections.ICollection c);
[<Android.Runtime.Register("synchronizedCollection", "(Ljava/util/Collection;)Ljava/util/Collection;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedCollection : System.Collections.ICollection -> System.Collections.ICollection

パラメーター

c
ICollection

同期されたコレクションに "ラップ" されるコレクション。

返品

指定したコレクションの同期ビュー。

属性

注釈

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

ユーザーは、 IteratorSpliterator 、または Streamを介してコレクションを走査するときに、返されたコレクションで手動で同期することが不可欠です。

Collection c = Collections.synchronizedCollection(myCollection);
                ...
             synchronized (c) {
                 Iterator i = c.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                    foo(i.next());
             }

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

返されるコレクションは、hashCodeおよびequals操作をバッキング コレクションに渡しませんが、Objectの equals メソッドと hashCode メソッドに依存します。 これは、バッキング コレクションがセットまたはリストである場合に、これらの操作のコントラクトを保持するために必要です。

指定したコレクションがシリアル化可能な場合、返されるコレクションはシリアル化可能になります。

Javaドキュメント。

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

適用対象