Collections.SynchronizedCollection(ICollection) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したコレクションに基づく同期された (スレッド セーフな) コレクションを返します。
[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
パラメーター
同期されたコレクションに "ラップ" されるコレクション。
戻り値
指定したコレクションの同期ビュー。
- 属性
注釈
指定したコレクションに基づく同期された (スレッド セーフな) コレクションを返します。 シリアル アクセスを保証するには、返されたコレクションを通じて、バッキング コレクションへの強力>なすべての</強力な>アクセスを実現することが重要<です。
ユーザーがコレクションを走査Iterator
Spliterator
Stream
する際に、返されたコレクションで手動で同期することが不可欠です。
Collection c = Collections.synchronizedCollection(myCollection);
...
synchronized (c) {
Iterator i = c.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
このアドバイスに従わないと、非決定的な動作が発生する可能性があります。
返されるコレクションは、バッキング コレクションに and equals
操作を渡hashCode
しませんが、's equals メソッドと hashCode メソッドにObject
依存します。 これは、バッキング コレクションがセットまたはリストである場合に、これらの操作のコントラクトを保持するために必要です。
指定したコレクションがシリアル化可能な場合、返されるコレクションはシリアル化可能になります。
の Java ドキュメントjava.util.Collections.synchronizedCollection(java.util.Collection<T>)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。