ISortedSet 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
Set進一步提供其元素的總排序。
[Android.Runtime.Register("java/util/SortedSet", "", "Java.Util.ISortedSetInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface ISortedSet : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ISequencedSet
[<Android.Runtime.Register("java/util/SortedSet", "", "Java.Util.ISortedSetInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ISortedSet = interface
interface ISequencedSet
interface ISequencedCollection
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ISet
- 衍生
- 屬性
- 實作
備註
Set進一步提供其元素的總排序。 元素依其可比自然排序排序,或依排序集合建立時通常提供的排序 Comparator 方式排序。 該集合的迭代器將依元素升序遍歷該集合。 還提供多項額外操作以利用此排序。 (此介面為 的 SortedMap集合類比。)
所有插入排序集合的元素都必須實作該 Comparable 介面(或被指定的比較器接受)。 此外,所有此類元素必須彼此可比較: e1.compareTo(e2) (或comparator.compare(e1, e2))不得對排序集合中的任何元素ClassCastExceptione1拋出 ae2。 違反此限制的嘗試將使違規方法或建構子調用拋出 ClassCastException。
請注意,排序集合所維持的排序(無論是否提供明確比較器)必須與相 等一致 ,若排序集合要正確實作介面 Set 。 (關於Comparable的精確定義,請參見介面或Comparator介面。)這是因為Set介面是以操作定義equals的,但排序集合會使用其compareTo(或compare)方法執行所有元素比較,因此從排序集合的角度來看,兩個被此方法視為相等的元素是相等的。 即使排序與等值不一致,排序集合的行為 仍是 良定義的;它只是無法遵守介面的 Set 一般契約。
所有通用的排序集合實作類別都應提供四個「標準」建構子:1) 空置(無參數)建構子,根據元素的自然排序建立一個空的排序集合。 2) 一個具有單一參數 Comparator的建構子,該建構子根據指定的比較器產生一個空的排序集合。 3) 一個具有單一參數 Collection型別的建構子,該建構子創建一個新的排序集合,其參數與其參數相同,並依元素的自然排序排序。 4) 一個具有單一參數 SortedSet的建構子,該參數能建立一個新的排序集合,其元素與排序與輸入排序相同。 無法強制執行此建議,因為介面無法包含建構子。
注意:有幾種方法會回傳具有限制範圍的子集。 此類值域為 半開,即包含低端點但不含高端點(如適用)。 如果你需要一個包含兩個端點的 封閉範圍 ,且元素類型允許計算給定值的後繼值,只需請求從 lowEndpoint 到 successor(highEndpoint)的子範圍。 例如,假設 是 s 一組排序過的字串。 以下慣用語可獲得包含從 s 到 low、包含所有字串的high視圖:
SortedSet<String> sub = s.subSet(low, high+"\0");
類似的技術也可用來產生一個開放 範圍 (同時不包含任何端點)。 以下慣用語可獲得包含從 s 到 low、 中所有字串high的視圖:
SortedSet<String> sub = s.subSet(low+"\0", high);
此介面是 Java 集合框架的成員。
在 1.2 版本中加入。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| IsEmpty |
若此集合沒有元素,則返回真。 (繼承來源 ISet) |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
|
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| Add(Object) |
若指定元素尚未存在,則將該元素加入此集合(可選操作)。 (繼承來源 ISet) |
| AddAll(ICollection) |
如果指定集合中尚未存在的所有元素,則將它們加入此集合(可選操作)。 (繼承來源 ISet) |
| AddFirst(Object) |
新增一個元素作為此集合的第一個元素(可選操作)。 (繼承來源 ISequencedCollection) |
| AddLast(Object) |
將元素加入為此集合的最後一個元素(可選操作)。 (繼承來源 ISequencedCollection) |
| Clear() |
移除此集合中的所有元素(可選操作)。 (繼承來源 ISet) |
| Comparator() |
回傳用於排序此集合元素的比較器,或 |
| Contains(Object) |
若此集合包含指定元素,則回傳 |
| ContainsAll(ICollection) |
若此集合包含指定集合的所有元素,則回傳 |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Equals(Object) |
將指定的物件與此集合比較以求相等。 (繼承來源 ISet) |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| First() |
回傳本組中目前第一個(最低)元素。 |
| ForEach(IConsumer) |
對每個元素 |
| GetFirst() |
取得這個集合的第一個元素。 (繼承來源 ISequencedCollection) |
| GetHashCode() |
回傳此集合的雜湊碼值。 (繼承來源 ISet) |
| GetLast() |
拿到這個合集的最後一個元素。 (繼承來源 ISequencedCollection) |
| HeadSet(Object) |
回傳該集合中元素嚴格小於 |
| Iterator() |
回傳該集合中元素的迭代器。 (繼承來源 ISet) |
| Last() |
回傳本集合中目前最後(最高)元素。 |
| Remove(Object) |
若該元素存在,則從此集合中移除該元素(可選操作)。 (繼承來源 ISet) |
| RemoveAll(ICollection) |
從該集合中移除包含在指定集合中的所有元素(可選操作)。 (繼承來源 ISet) |
| RemoveFirst() |
移除並回傳此集合的第一個元素(可選操作)。 (繼承來源 ISequencedCollection) |
| RemoveIf(IPredicate) |
移除該集合中所有滿足該謂詞的元素(可選操作)。 (繼承來源 ICollection) |
| RemoveLast() |
移除並回傳此集合的最後一個元素(可選操作)。 (繼承來源 ISequencedCollection) |
| RetainAll(ICollection) |
僅保留該集合中包含於指定集合中的元素(可選操作)。 (繼承來源 ISet) |
| Reversed() |
回傳此集合的逆序視圖。 (繼承來源 ISequencedCollection) |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
|
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| Size() |
回傳該集合中的元素數(其基數)。 (繼承來源 ISet) |
| Spliterator() |
在由此 |
| SubSet(Object, Object) |
回傳該集合中元素範圍從 |
| TailSet(Object) |
回傳該集合中元素大於或等 |
| ToArray() |
回傳包含該集合中所有元素的陣列。 (繼承來源 ISet) |
| ToArray(IIntFunction) |
回傳包含此集合中所有元素的陣列,並使用所提供的 |
| ToArray(Object[]) |
回傳包含此集合中所有元素的陣列;回傳陣列的執行時型別即為指定陣列的類型。 (繼承來源 ISet) |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
明確介面實作
| 名稱 | Description |
|---|---|
| IIterable.Spliterator() |
在這個排序集合中,建立 |
| ISequencedCollection.AddFirst(Object) |
拋出 |
| ISequencedCollection.AddLast(Object) |
拋出 |
| ISequencedCollection.GetFirst() |
待補充 |
| ISequencedCollection.GetLast() |
待補充 |
| ISequencedCollection.RemoveFirst() |
待補充 |
| ISequencedCollection.RemoveLast() |
待補充 |
| ISequencedCollection.Reversed() |
待補充 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
|
| ToEnumerable(IIterable) |
回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 |
| ToEnumerable<T>(IIterable) |
回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |