Collections.SynchronizedSortedMap(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回已同步處理(安全線程)的排序對應,由指定的排序對應所支援。
[Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static System.Collections.IDictionary SynchronizedSortedMap (System.Collections.IDictionary m);
[<Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedSortedMap : System.Collections.IDictionary -> System.Collections.IDictionary
參數
同步排序對應中要「包裝」的已排序對應。
傳回
指定之已排序地圖的同步檢視。
- 屬性
備註
傳回已同步處理(安全線程)的排序對應,由指定的排序對應所支援。 為了保證序列存取,必須 <透過傳回的已排序對應完成強>式所有</強式> 存取,才能透過傳回的排序對應(或其檢視)。
用戶必須透過 Iterator
Stream
Spliterator
或 ,在周遊其任何集合檢視時,手動同步處理所傳回排序地圖上的集合檢視,或tailMap
其subMap
headMap
任何集合檢視:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
...
Set s = m.keySet(); // Needn't be in synchronized block
...
synchronized (m) { // Synchronizing on m, not s!
Iterator i = s.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
or:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
SortedMap m2 = m.subMap(foo, bar);
...
Set s2 = m2.keySet(); // Needn't be in synchronized block
...
synchronized (m) { // Synchronizing on m, not m2 or s2!
Iterator i = s2.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
若未遵循這項建議,可能會導致不具決定性的行為。
如果指定的排序對應可串行化,則傳回的排序對應將會串行化。
的 java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。