Collections.SynchronizedNavigableSet(INavigableSet) 方法

定义

返回由指定的可导航集支持的已同步(线程安全)可导航集。

[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

参数

s
INavigableSet

在同步的可导航集中“包装”的可导航集

返回

指定可导航集的同步视图

属性

注解

返回由指定的可导航集支持的已同步(线程安全)可导航集。 为了保证串行访问,必须 <通过返回的可导航集(或其视图)实现对后盾导航集的强>所有</强> 访问。

用户必须在遍历返回的可导航集上手动同步,或者subSetheadSettailSet通过IteratorSpliteratorStream或以下方式在返回的可导航集上手动同步:

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.util.Collections.synchronizedNavigableSet(java.util.NavigableSet<T>)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于