Collections.SynchronizedNavigableSet(INavigableSet) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したナビゲーション可能セットによってサポートされる同期された (スレッド セーフな) ナビゲーション可能なセットを返します。
[Android.Runtime.Register("synchronizedNavigableSet", "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static Java.Util.INavigableSet SynchronizedNavigableSet (Java.Util.INavigableSet s);
[<Android.Runtime.Register("synchronizedNavigableSet", "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedNavigableSet : Java.Util.INavigableSet -> Java.Util.INavigableSet
パラメーター
同期されたナビゲーション可能セットに "ラップ" されるようにナビゲーション可能なセット
戻り値
指定したナビゲーション可能セットの同期ビュー
- 属性
注釈
指定したナビゲーション可能セットによってサポートされる同期された (スレッド セーフな) ナビゲーション可能なセットを返します。 シリアル アクセスを保証するには、返されたナビゲーション可能なセット (またはそのビュー) を使用して、バッキングナビゲーション可能セットへの強力><なすべての/強力>なアクセスを実現することが重要<です。
ユーザーがナビゲーション可能なセットを走査する際に、返されたナビゲーション可能なセット、またはそのビューを手動で同期するには、次のいずれかをtailSet
subSet
headSet
使用Iterator
Spliterator
Stream
することが不可欠です。
NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
...
synchronized (s) {
Iterator i = s.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
または
NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
NavigableSet s2 = s.headSet(foo, true);
...
synchronized (s) { // Note: s, not s2!!!
Iterator i = s2.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
このアドバイスに従わないと、非決定的な動作が発生する可能性があります。
指定したナビゲーション可能セットがシリアル化可能な場合、返されるナビゲーション可能セットはシリアル化可能になります。
1.8 で追加されました。
の Java ドキュメントjava.util.Collections.synchronizedNavigableSet(java.util.NavigableSet<T>)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。