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) |
, |