語言

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

可導航集合被「包裹」成同步的可導航集合

傳回

指定可導航集合的同步視圖

屬性

備註

回傳一個同步(執行緒安全)的可導航集合,並由指定的可導航集合作為後盾。 為了保證序列存取,必須 <透過回傳的可導航集合(或其視圖)來實現對支持的可導航集合的強>全/<強> 存取。

使用者在遍歷可導航集或其任一subSet、、tailSetheadSet視圖時,必須手動同步,透過 Iterator或 SpliteratorStream:

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 屬性授權中所述的詞彙使用。

適用於