語言

ISortedSet 介面

定義

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&lt;String&gt; sub = s.subSet(low, high+"\0");

類似的技術也可用來產生一個開放 範圍 (同時不包含任何端點)。 以下慣用語可獲得包含從 s 到 low、 中所有字串high的視圖:

SortedSet&lt;String&gt; sub = s.subSet(low+"\0", high);

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

在 1.2 版本中加入。

的 java.util.SortedSetJava 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
IsEmpty

若此集合沒有元素,則返回真。

(繼承來源 ISet)
JniIdentityHashCode

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

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

Set進一步提供其元素的總排序。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

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

(繼承來源 IJavaPeerable)

方法

名稱 Description
Add(Object)

若指定元素尚未存在,則將該元素加入此集合(可選操作)。

(繼承來源 ISet)
AddAll(ICollection)

如果指定集合中尚未存在的所有元素,則將它們加入此集合(可選操作)。

(繼承來源 ISet)
AddFirst(Object)

新增一個元素作為此集合的第一個元素(可選操作)。

(繼承來源 ISequencedCollection)
AddLast(Object)

將元素加入為此集合的最後一個元素(可選操作)。

(繼承來源 ISequencedCollection)
Clear()

移除此集合中的所有元素(可選操作)。

(繼承來源 ISet)
Comparator()

回傳用於排序此集合元素的比較器,或 null 若此集合使用其元素的可比較自然排序,則回傳。

Contains(Object)

若此集合包含指定元素,則回傳 true 。

(繼承來源 ISet)
ContainsAll(ICollection)

若此集合包含指定集合的所有元素,則回傳 true 。

(繼承來源 ISet)
Disposed()

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

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

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

(繼承來源 IJavaPeerable)
Equals(Object)

將指定的物件與此集合比較以求相等。

(繼承來源 ISet)
Finalized()

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

(繼承來源 IJavaPeerable)
First()

回傳本組中目前第一個(最低)元素。

ForEach(IConsumer)

對每個元素 Iterable 執行指定動作,直到所有元素都處理完畢或動作拋出異常。

(繼承來源 IIterable)
GetFirst()

取得這個集合的第一個元素。

(繼承來源 ISequencedCollection)
GetHashCode()

回傳此集合的雜湊碼值。

(繼承來源 ISet)
GetLast()

拿到這個合集的最後一個元素。

(繼承來源 ISequencedCollection)
HeadSet(Object)

回傳該集合中元素嚴格小於 toElement的部分的視圖。

Iterator()

回傳該集合中元素的迭代器。

(繼承來源 ISet)
Last()

回傳本集合中目前最後(最高)元素。

Remove(Object)

若該元素存在,則從此集合中移除該元素(可選操作)。

(繼承來源 ISet)
RemoveAll(ICollection)

從該集合中移除包含在指定集合中的所有元素(可選操作)。

(繼承來源 ISet)
RemoveFirst()

移除並回傳此集合的第一個元素(可選操作)。

(繼承來源 ISequencedCollection)
RemoveIf(IPredicate)

移除該集合中所有滿足該謂詞的元素(可選操作)。

(繼承來源 ICollection)
RemoveLast()

移除並回傳此集合的最後一個元素(可選操作)。

(繼承來源 ISequencedCollection)
RetainAll(ICollection)

僅保留該集合中包含於指定集合中的元素(可選操作)。

(繼承來源 ISet)
Reversed()

回傳此集合的逆序視圖。

(繼承來源 ISequencedCollection)
SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Set進一步提供其元素的總排序。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
Size()

回傳該集合中的元素數(其基數)。

(繼承來源 ISet)
Spliterator()

在由此Spliterator描述的元素上建立 a Iterable 。

(繼承來源 IIterable)
SubSet(Object, Object)

回傳該集合中元素範圍從 fromElement、包含到 toElement、排他部分的視圖。

TailSet(Object)

回傳該集合中元素大於或等 fromElement於的部分的視圖。

ToArray()

回傳包含該集合中所有元素的陣列。

(繼承來源 ISet)
ToArray(IIntFunction)

回傳包含此集合中所有元素的陣列,並使用所提供的 generator 函式來分配回傳的陣列。

(繼承來源 ICollection)
ToArray(Object[])

回傳包含此集合中所有元素的陣列;回傳陣列的執行時型別即為指定陣列的類型。

(繼承來源 ISet)
UnregisterFromRuntime()

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

(繼承來源 IJavaPeerable)

明確介面實作

名稱 Description
IIterable.Spliterator()

在這個排序集合中,建立 Spliterator 一個元素。

ISequencedCollection.AddFirst(Object)

拋出 UnsupportedOperationException。

ISequencedCollection.AddLast(Object)

拋出 UnsupportedOperationException。

ISequencedCollection.GetFirst()

待補充

ISequencedCollection.GetLast()

待補充

ISequencedCollection.RemoveFirst()

待補充

ISequencedCollection.RemoveLast()

待補充

ISequencedCollection.Reversed()

待補充

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Set進一步提供其元素的總排序。

ToEnumerable(IIterable)

回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 foreach 和 LINQ 與 Java 集合類型一起使用。 每個元素都會從其 Java 實例編組到對應的受管理型別。

ToEnumerable<T>(IIterable)

回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 T。 這使得 foreach LINQ 可以搭配 Java 集合類型一起使用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用於