語言

ISortedMap 介面

定義

Map A則進一步在其鍵上提供<em>total ordering</em>。

[Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public interface ISortedMap : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ISequencedMap
[<Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ISortedMap = interface
    interface IMap
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ISequencedMap
衍生
屬性
實作

備註

Map A則進一步在其鍵上提供<em>total ordering</em>。 映射依照其鍵的可比自然排序排序,或通常在排序後建立映射時提供的排序 Comparator 。 當對已排序地圖的集合視圖(由 entrySet、 keySet 和 values 方法回傳)時,此順序會反映出來。 還提供多項額外操作以利用此排序。 (此介面是 的 SortedSet映射對應。)

所有插入排序映射的鍵都必須實作該 Comparable 介面(或被指定的比較器接受)。 此外,所有此類鍵必須是 em 互比較</em>: < (或 >)不得對任何鍵 k1.compareTo(k2) 和 comparator.compare(k1, k2) 在排序映射中拋出 aClassCastException。k1k2 違反此限制的嘗試將使違規方法或建構子調用拋出 ClassCastException。

請注意,排序映射所維持的排序(無論是否提供明確比較器)必須與 <>equals</em> 相容,若排序映射要正確實作介面Map。 (詳見介面或ComparableComparator介面,以 equals</em> 為 em 的精確定義<>。)這是因為Map介面是以操作定義equals的,但排序映射會使用其compareTo(或compare)方法執行所有鍵比較,因此從排序映射的角度來看,兩個被此方法視為相同的鍵是相等的。 樹狀映射 <em>的行為是<>定義良好的,即使其排序與等值不一致;它只是無法遵守介面的Map一般契約。

所有通用排序地圖實作類別都應提供四個「標準」建構子。 然而,無法強制執行此建議,因為所需的建構子無法由介面指定。 所有排序映射實作的預期「標準」建構器有:<ol><li>一個空置(無參數)建構器,它會根據鍵的自然排序建立一個空的排序映射。</li><li>一個具有單一參數型別Comparator的構造子,能根據指定的比較器建立一個空的排序映射。</li><li>一個擁有單一參數型別 Map的建構子,能建立一個與其參數相同的鍵值映射,並依鍵的自然排序建立一個新的映射。</li><li>一個具有單一參數SortedMap的建構子,該參數與輸入排序映射相同,建立一個新的排序映射,其鍵值映射與排序相同。</li></ol>

<強力>備註</強力>:多種方法會回傳具有限制調性範圍的子映射。 此類範圍為 <em-half-open></em>,也就是說,它們包含低端點但不含高端點(如適用)。 如果你需要一個 <em>封閉範圍</em> (包含兩個端點),且該鍵型允許計算某鍵的後繼,只需請求從 lowEndpoint 到 successor(highEndpoint)的子範圍。 例如,假設 m 是一個鍵為字串的映射。 以下慣用語可獲得包含所有 m 鍵值映射的視圖,其中鍵值介於 lowhigh和 之間,包括:

SortedMap&lt;String, V&gt; sub = m.subMap(low, high+"\0");

類似的技術可用來產生 <一個 em>開放範圍</em> (同時不包含任何端點)。 以下慣用語可獲得一個視圖,包含 m 所有鍵值映射中鍵值介於 lowhigh與 之間,且是獨佔:

SortedMap&lt;String, V&gt; sub = m.subMap(low+"\0", high);

此介面是 Java 集合框架的成員。

在 1.2 版本中加入。

的 java.util.SortedMapJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
IsEmpty

回傳此映射是否為空。

(繼承來源 IMap)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Clear()

移除此映射中的所有映射(可選操作)。

(繼承來源 IMap)
Comparator()

回傳用於排序此映射中鍵鍵的比較器,或 null 若此映射使用鍵的可比較自然排序。

Compute(Object, IBiFunction)

嘗試計算指定鍵及其目前映射值的映射,或 null 在沒有當前映射時(可選操作)。

(繼承來源 IMap)
ComputeIfAbsent(Object, IFunction)

若指定的鍵尚未與某值相關聯(或映射至 null),則嘗試使用該映射函數計算其值,並輸入該映射,除非 null (可選操作)。

(繼承來源 IMap)
ComputeIfPresent(Object, IBiFunction)

若指定鍵值存在且非空值,則嘗試根據該鍵及其當前映射值計算新的映射(可選操作)。

(繼承來源 IMap)
ContainsKey(Object)

若此映射包含指定鍵的映射,則回傳 true 。

(繼承來源 IMap)
ContainsValue(Object)

若此映射將一個或多個鍵對應到指定值,則回傳 true 。

(繼承來源 IMap)
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
EntrySet()

回傳 Set 此地圖中所包含映射的視圖。

Equals(Object)

將指定物件與此映射比較以求相等。

(繼承來源 IMap)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
FirstEntry()

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 ISequencedMap)
FirstKey()

回傳此地圖目前第一個(最低)鍵。

ForEach(IBiConsumer)

對該映射中的每個項目執行指定動作,直到所有項目都處理完畢或該動作拋出例外。

(繼承來源 IMap)
Get(Object)

回傳指定金鑰所映射的值,或 null 若該映射不包含該金鑰的映射,則回傳。

(繼承來源 IMap)
GetHashCode()

回傳此映射的雜湊碼值。

(繼承來源 IMap)
GetOrDefault(Object, Object)

回傳指定金鑰所映射的值,或 defaultValue 若該映射不包含該金鑰的映射,則回傳。

(繼承來源 IMap)
HeadMap(Object)

回傳該映射中鍵數嚴格小於 toKey的部分的視圖。

KeySet()

回傳 Set 此映射中所含金鑰的視圖。

LastEntry()

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 ISequencedMap)
LastKey()

回傳目前該地圖中最後(最高)的鍵。

Merge(Object, Object, IBiFunction)

如果指定的鍵尚未與某值相關聯或與空值相關聯,則會將其與給定的非空值關聯(可選操作)。

(繼承來源 IMap)
PollFirstEntry()

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 ISequencedMap)
PollLastEntry()

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 ISequencedMap)
Put(Object, Object)

將指定值與此映射中的指定鍵鍵關聯(可選操作)。

(繼承來源 IMap)
PutAll(IDictionary)

將指定映射中的所有映射複製到該映射(可選操作)。

(繼承來源 IMap)
PutFirst(Object, Object)

若該映射尚未存在,則插入該映射;若映射已存在,則替換該映射值(可選操作)。

(繼承來源 ISequencedMap)
PutIfAbsent(Object, Object)

如果指定的鍵尚未與某值相關聯(或映射到 null),則將其與該值關聯並回傳 null,否則 返回當前值(可選操作)。

(繼承來源 IMap)
PutLast(Object, Object)

若該映射尚未存在,則插入該映射;若映射已存在,則替換該映射值(可選操作)。

(繼承來源 ISequencedMap)
Remove(Object, Object)

只有當指定鍵目前已映射到指定值時,才會移除該欄位(可選操作)。

(繼承來源 IMap)
Remove(Object)

若該映射存在,則移除該映射(可選操作)。

(繼承來源 IMap)
Replace(Object, Object, Object)

只有當指定鍵目前映射到指定值時,才會替換該指定鍵的條目(可選操作)。

(繼承來源 IMap)
Replace(Object, Object)

只有當指定鍵目前映射到某個值時,才會替換該金鑰的條目(可選操作)。

(繼承來源 IMap)
ReplaceAll(IBiFunction)

將每個項目的值替換為呼叫該該項目的結果,直到所有項目都處理完畢或該函式拋出例外(可選操作)。

(繼承來源 IMap)
Reversed()

回傳此映射的反序視圖。

(繼承來源 ISequencedMap)
SequencedEntrySet()

回傳 SequencedSet 此地圖的 #entrySet entrySet視圖。

(繼承來源 ISequencedMap)
SequencedKeySet()

回傳 SequencedSet 此地圖的 #keySet keySet視圖。

(繼承來源 ISequencedMap)
SequencedValues()

回傳 SequencedCollection 此地圖 #values values 集合的視圖。

(繼承來源 ISequencedMap)
SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Map A則進一步在其鍵上提供<em>total ordering</em>。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
Size()

回傳此映射中鍵值映射的數量。

(繼承來源 IMap)
SubMap(Object, Object)

回傳該映射中鍵值範圍從 fromKey、 包含到 toKey、 的部分視圖。

TailMap(Object)

回傳該映射中鍵值大於 fromKey等於的部分的視圖。

UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)
Values()

回傳 Collection 此映射中所含值的視圖。

明確介面實作

名稱 Description
ISequencedMap.PutFirst(Object, Object)

拋出 UnsupportedOperationException。

ISequencedMap.PutLast(Object, Object)

拋出 UnsupportedOperationException。

ISequencedMap.Reversed()

Map A則進一步在其鍵上提供<em>total ordering</em>。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

Map A則進一步在其鍵上提供<em>total ordering</em>。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於