ConcurrentSkipListMap 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
可調整的並行 ConcurrentNavigableMap 實作。
[Android.Runtime.Register("java/util/concurrent/ConcurrentSkipListMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class ConcurrentSkipListMap : Java.Util.AbstractMap, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/concurrent/ConcurrentSkipListMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ConcurrentSkipListMap = class
inherit AbstractMap
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
- 繼承
- 屬性
- 實作
備註
可調整的並行 ConcurrentNavigableMap 實作。 根據其索引鍵的可比較自然順序,或根據使用哪一個 Comparator 建構函式,在地圖建立時間提供來排序地圖。
這個類別會實作 SkipList 的並行變體,以提供、 get和作業及其變體的預期平均記錄(n) 時間成本containsKey。remove put 插入、移除、更新和存取作業可安全地由多個線程同時執行。
反覆運算器和分割器是 <i>弱式一致</i>。
遞增索引鍵排序的檢視及其反覆運算器比遞減檢視更快。
這個類別中方法傳回的所有 Map.Entry 配對及其檢視,代表在產生對應時對應的快照集。 <>它們不支援</em> 支援 Entry.setValue 方法。 不過,請注意,您可以使用 、putIfAbsent、 或 replace來變更關聯對應put中的對應,視您需要的效果而定。
請注意,大量作業putAll、、equals、 toArraycontainsValue和 clear 是 <em> 不<保證>能以不可部分完成的方式執行。 例如,與作業同時 putAll 運作的反覆運算器可能只檢視一些已加入的元素。
這個類別及其檢視和反覆運算器會實作 和 Iterator 介面的所有 <em> 選擇性</em> 方法Map。 和大多數其他並行集合一樣,這個類別不會<<>/em> 允許使用null索引鍵或值,因為某些 Null 傳回值無法可靠地區別於元素不存在。
這個類別是 Java Collections Framework 的成員。
已在1.6中新增。
的 java.util.concurrent.ConcurrentSkipListMapJava 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
| ConcurrentSkipListMap() |
根據索引鍵的可比較自然順序來建構新的空白地圖。 |
| ConcurrentSkipListMap(IComparator) |
根據指定的比較子來建構新的空白對應。 |
| ConcurrentSkipListMap(IDictionary) |
根據索引鍵的可比較自然順序,建構包含與指定對應相同的對應的新對應。 |
| ConcurrentSkipListMap(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
屬性
| Class |
傳回這個 |
| Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
| IsEmpty |
要新增 (繼承來源 AbstractMap) |
| JniIdentityHashCode |
可調整的並行 |
| JniPeerMembers |
可調整的並行 |
| PeerReference |
可調整的並行 |
| ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
| ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
| CeilingEntry(Object) |
傳回與大於或等於指定索引鍵之最小索引鍵關聯的索引鍵/值對應,如果沒有 |
| CeilingKey(Object) |
可調整的並行 |
| Clear() |
要新增 (繼承來源 AbstractMap) |
| Clone() |
傳回這個 |
| Comparator() |
傳回用來比較這個排序對應中索引鍵的比較子,如果自然順序正在使用中,則傳回 null。 |
| Compute(Object, IBiFunction) |
嘗試計算指定索引鍵的對應及其目前的對應值(如果沒有 |
| ComputeIfAbsent(Object, IFunction) |
如果指定的索引鍵尚未與值相關聯,請嘗試使用指定的對應函式計算其值,並輸入此對應,除非 |
| ComputeIfPresent(Object, IBiFunction) |
如果指定的索引鍵值存在,則嘗試計算指定索引鍵及其目前對應值的新對應。 |
| ContainsKey(Object) |
要新增 (繼承來源 AbstractMap) |
| ContainsValue(Object) |
要新增 (繼承來源 AbstractMap) |
| DescendingKeySet() |
傳回這個對應中包含的索引鍵反向順序 INavigableSet 檢視。 |
| Dispose() |
可調整的並行 |
| Dispose(Boolean) |
可調整的並行 |
| EntrySet() |
傳 |
| Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
| FirstEntry() |
傳回與此對應中最小索引鍵相關聯的索引鍵/值對應,如果 |
| FirstKey() |
傳回這個排序對應中的最小索引鍵。 |
| FloorEntry(Object) |
傳回與大於或等於指定索引鍵的最大索引鍵相關聯的索引鍵/值對應,如果沒有 |
| FloorKey(Object) |
可調整的並行 |
| ForEach(IBiConsumer) |
可調整的並行 |
| Get(Object) |
要新增 (繼承來源 AbstractMap) |
| GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
| GetOrDefault(Object, Object) |
傳回所指定索引鍵所對應的值,如果這個對應未包含索引鍵的對應,則傳回指定的 defaultValue。 |
| HigherEntry(Object) |
傳回與最不嚴格大於指定索引鍵之最小索引鍵關聯的索引鍵/值對應,如果沒有 |
| HigherKey(Object) |
可調整的並行 |
| JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
| KeySet() |
要新增 (繼承來源 AbstractMap) |
| LastEntry() |
傳回與此對應中最大索引鍵相關聯的索引鍵/值對應,如果 |
| LastKey() |
傳回這個排序對應中最大的索引鍵。 |
| LowerEntry(Object) |
傳回與最大索引鍵嚴格小於指定索引鍵的索引鍵/值對應,如果沒有 |
| LowerKey(Object) |
可調整的並行 |
| Merge(Object, Object, IBiFunction) |
如果指定的索引鍵尚未與值相關聯,請將它與指定的值產生關聯。 |
| NavigableKeySet() |
傳 INavigableSet 回這個對應中包含的索引鍵檢視。 |
| Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
| NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
| PollFirstEntry() |
移除並傳回與此對應中最小索引鍵相關聯的索引鍵/值對應,如果 |
| PollLastEntry() |
移除並傳回與此對應中最大索引鍵相關聯的索引鍵/值對應,如果 |
| Put(Object, Object) |
要新增 (繼承來源 AbstractMap) |
| PutAll(IDictionary) |
要新增 (繼承來源 AbstractMap) |
| PutIfAbsent(Object, Object) |
要新增 |
| Remove(Object, Object) |
要新增 |
| Remove(Object) |
要新增 (繼承來源 AbstractMap) |
| Replace(Object, Object, Object) |
要新增 |
| Replace(Object, Object) |
要新增 |
| ReplaceAll(IBiFunction) |
可調整的並行 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| Size() |
要新增 (繼承來源 AbstractMap) |
| ToArray<T>() |
可調整的並行 |
| ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
可調整的並行 |
| Values() |
要新增 (繼承來源 AbstractMap) |
| Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
| Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
| Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
| IJavaPeerable.Disposed() |
可調整的並行 |
| IJavaPeerable.DisposeUnlessReferenced() |
可調整的並行 |
| IJavaPeerable.Finalized() |
可調整的並行 |
| IJavaPeerable.JniManagedPeerState |
可調整的並行 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
可調整的並行 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
可調整的並行 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
可調整的並行 |
擴充方法
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
可調整的並行 |
| GetJniTypeName(IJavaPeerable) |
可調整的並行 |