IConcurrentMap 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
Map A 提供執行緒安全與原子性保證。
[Android.Runtime.Register("java/util/concurrent/ConcurrentMap", "", "Java.Util.Concurrent.IConcurrentMapInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public interface IConcurrentMap : IDisposable, Java.Interop.IJavaPeerable, Java.Util.IMap
[<Android.Runtime.Register("java/util/concurrent/ConcurrentMap", "", "Java.Util.Concurrent.IConcurrentMapInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type IConcurrentMap = interface
interface IMap
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 衍生
- 屬性
- 實作
備註
Map A 提供執行緒安全與原子性保證。
為維持指定的保證,必須將包含 #putIfAbsent 繼承自 的方法 Map 的預設實作,被此介面的實作覆蓋。 同樣地,集合的實作由方法#keySet#values回傳,且#entrySet必須覆蓋方法,removeIf如必要時以維持原子性保證。
記憶體一致性效應:與其他並行集合一樣,執行緒中在將物件放入 a ConcurrentMap 鍵或值 <i>之前,執行<>緒中的動作發生於該物件ConcurrentMap從另一個執行緒中存取或移除之後的行動。
此介面是 Java 集合框架的成員。
已在1.5中新增。
Java 文件 java.util.concurrent.ConcurrentMap。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
| 名稱 | Description |
|---|---|
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| IsEmpty |
回傳此映射是否為空。 (繼承來源 IMap) |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
|
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| Clear() |
移除此映射中的所有映射(可選操作)。 (繼承來源 IMap) |
| Compute(Object, IBiFunction) |
嘗試計算指定鍵及其目前映射值的映射,或 |
| ComputeIfAbsent(Object, IFunction) |
若指定的鍵尚未與某值相關聯(或映射至 |
| ComputeIfPresent(Object, IBiFunction) |
若指定鍵值存在且非空值,則嘗試根據該鍵及其當前映射值計算新的映射(可選操作)。 (繼承來源 IMap) |
| ContainsKey(Object) |
若此映射包含指定鍵的映射,則回傳 |
| ContainsValue(Object) |
若此映射將一個或多個鍵對應到指定值,則回傳 |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| EntrySet() |
回傳 |
| Equals(Object) |
將指定物件與此映射比較以求相等。 (繼承來源 IMap) |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| ForEach(IBiConsumer) |
對該映射中的每個項目執行指定動作,直到所有項目都處理完畢或該動作拋出例外。 (繼承來源 IMap) |
| Get(Object) |
回傳指定金鑰所映射的值,或 |
| GetHashCode() |
回傳此映射的雜湊碼值。 (繼承來源 IMap) |
| GetOrDefault(Object, Object) |
回傳指定金鑰所映射的值,或 |
| KeySet() |
回傳 |
| Merge(Object, Object, IBiFunction) |
如果指定的鍵尚未與某值相關聯或與空值相關聯,則會將其與給定的非空值關聯(可選操作)。 (繼承來源 IMap) |
| Put(Object, Object) |
將指定值與此映射中的指定鍵鍵關聯(可選操作)。 (繼承來源 IMap) |
| PutAll(IDictionary) |
將指定映射中的所有映射複製到該映射(可選操作)。 (繼承來源 IMap) |
| PutIfAbsent(Object, Object) |
如果指定的鍵尚未與某值相關聯,則將其與該值關聯。 |
| Remove(Object, Object) |
只有當某個鍵目前映射到某個值時,才會移除該金鑰的條目。 |
| Remove(Object) |
若該映射存在,則移除該映射(可選操作)。 (繼承來源 IMap) |
| Replace(Object, Object, Object) |
只有當某個鍵目前被映射到某個值時,才會替換該鍵的條目。 |
| Replace(Object, Object) |
只有當某個鍵目前被映射到某個值時,才會替換該鍵的條目。 |
| ReplaceAll(IBiFunction) |
將每個項目的值替換為呼叫該該項目的結果,直到所有項目都處理完畢或該函式拋出例外(可選操作)。 (繼承來源 IMap) |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
|
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| Size() |
回傳此映射中鍵值映射的數量。 (繼承來源 IMap) |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
| Values() |
回傳 |
明確介面實作
| 名稱 | Description |
|---|---|
| IMap.Compute(Object, IBiFunction) |
嘗試計算指定鍵及其當前映射值的映射(若無當前映射則為空值)。 |
| IMap.ComputeIfAbsent(Object, IFunction) |
若指定鍵尚未與某值相關聯(或映射為空值),則嘗試使用該映射函數計算該值,並輸入該映射,除非為空值。 |
| IMap.ComputeIfPresent(Object, IBiFunction) |
若指定鍵值存在且非空值,則嘗試在該鍵及其當前映射值下計算新的映射。 |
| IMap.ForEach(IBiConsumer) |
對該映射中的每個項目執行指定動作,直到所有項目都處理完畢或該動作拋出例外。 |
| IMap.GetOrDefault(Object, Object) |
回傳指定鍵對應的值,若該映射無鍵映射,則回傳 defaultValue。 |
| IMap.Merge(Object, Object, IBiFunction) |
如果指定的鍵尚未與某值相關聯或與空值相關聯,則會將其與給定的非空值關聯。 |
| IMap.ReplaceAll(IBiFunction) |
會用呼叫該項函式的結果替換每個條目的值,直到所有條目都處理完畢或函式拋出例外為止。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |