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.ISet
[<Android.Runtime.Register("java/util/SortedSet", "", "Java.Util.ISortedSetInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ISortedSet = interface
interface ISet
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 衍生
- 屬性
- 實作
備註
, Set
其會進一 步提供其元素的總順序 。 元素會使用其可比較的自然順序來排序,或 Comparator
通常是在已排序的集合建立時間提供。 集合的反覆運算器會以遞增的元素順序周游集合。 提供數個額外的作業來利用排序。 (這個介面是 的設定類比。SortedMap
插入排序集的所有項目都必須實 Comparable
作 介面(或由指定的比較子接受)。 此外,所有這些元素都必須相互比較: e1.compareTo(e2)
(或comparator.compare(e1, e2)
) 不得針對任何項目e1
擲回 ClassCastException
,而且e2
在已排序的集合中。 試著違反此限制會導致違規的方法或建構函式呼叫擲回 ClassCastException
。
請注意,如果排序的集合要正確實Set
作 介面,排序集所維護的排序(是否提供明確的比較子),必須與相等一致。 (請參閱 Comparable
介面或Comparator
介面,以取得與相等一致的精確定義。Set
這是因為介面是以作業來equals
定義,但已排序的集合會使用其 compareTo
(或compare
) 方法來執行所有元素比較,因此,從排序集的觀點來看,這個方法視為相等的兩個元素都是相等的。 即使排序順序與相等不一致,排序集 的行為也 定義得很好;它只是無法遵守 介面的 Set
一般合約。
所有一般用途的已排序集合實作類別都應該提供四個「標準」建構函式:1) void (no arguments) 建構函式,這會根據其元素的自然順序,建立以排序的空白排序集合。 2) 具有 型 Comparator
別單一自變數的建構函式,它會根據指定的比較子建立排序的空排序集。 3) 具有型 Collection
別單一自變數的建構函式,它會使用與其自變數相同的元素建立新排序集,並根據專案的自然順序排序。 4) 具有 類型 SortedSet
單一自變數的建構函式,其會建立具有相同元素的新排序集,以及與輸入排序集相同的順序。 無法強制執行此建議,因為介面不能包含建構函式。
注意:數種方法會傳回具有限制範圍的子集。 這類範圍是 半開啟的,也就是說,它們包含其低端點,但不包含其高端點(如果適用)。 如果您需要封閉範圍(包括這兩個端點),而專案類型允許計算指定值的後續任務項,只需向 要求子範圍lowEndpoint
即可successor(highEndpoint)
。 例如,假設這是 s
一組已排序的字串。 下列成語會取得檢視,其中包含從 low
到high
的所有字串s
, 包含:
SortedSet<String> sub = s.subSet(low, high+"\0");
類似的技術可以用來產生開放式範圍(不包含兩個端點)。 下列成語會取得檢視,其中包含 從 low
到high
的所有 Strings s
獨佔:
SortedSet<String> sub = s.subSet(low+"\0", high);
這個介面是 Java Collections Framework 的成員。
已在1.2中新增。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
IsEmpty |
如果這個集合沒有專案,則傳回 true。 (繼承來源 ISet) |
JniIdentityHashCode |
傳回包裝實例的 值 |
JniManagedPeerState |
受控對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
PeerReference |
傳 JniObjectReference 回已包裝 Java 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
Add(Object) |
如果指定的專案尚未存在,請將指定的專案加入至這個集合(選擇性作業)。 (繼承來源 ISet) |
AddAll(ICollection) |
如果指定的集合中還沒有專案,請將指定集合中的所有專案加入至這個集合(選擇性作業)。 (繼承來源 ISet) |
Clear() |
從這個集合中移除所有專案(選擇性作業)。 (繼承來源 ISet) |
Comparator() |
傳回用來排序這個集合中元素的比較子,如果 |
Contains(Object) |
如果這個集合包含指定的專案,則傳 |
ContainsAll(ICollection) |
|
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Equals(Object) |
比較指定的 對象與這個集合是否相等。 (繼承來源 ISet) |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
First() |
傳回目前在此集合中的第一個 (最低) 元素。 |
ForEach(IConsumer) |
針對的每個項目執行指定的動作,直到處理所有專案 |
GetHashCode() |
傳回這個集合的哈希碼值。 (繼承來源 ISet) |
HeadSet(Object) |
傳回這個集合部分的檢視,其項目嚴格小於 |
Iterator() |
傳回此集合中元素的反覆運算器。 (繼承來源 ISet) |
Last() |
傳回目前在此集合中的最後一個 (最高) 元素。 |
Remove(Object) |
如果指定的專案存在,則從這個集合中移除指定的專案(選擇性作業)。 (繼承來源 ISet) |
RemoveAll(ICollection) |
從這個集合中移除其所有包含在指定集合中的專案(選擇性作業)。 (繼承來源 ISet) |
RemoveIf(IPredicate) |
拿掉此集合中滿足指定述詞的所有專案。 (繼承來源 ICollection) |
RetainAll(ICollection) |
只保留這個集合中包含在指定集合中的專案(選擇性作業)。 (繼承來源 ISet) |
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) |
明確介面實作
IIterable.Spliterator() |
在這個 |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
, |
GetJniTypeName(IJavaPeerable) |
, |
ToEnumerable(IIterable) |
, |
ToEnumerable<T>(IIterable) |
, |