W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
public interface SortedSet<E>
extends Set<E>
進一步提供對其元素的總排序的 Set。 元素使用它們的 Comparable 排序,或者由通常在排序集創(chuàng)建時提供的 Comparator 排序。 集合的迭代器將按元素升序遍歷集合。 提供了幾個額外的操作來利用排序。 (這個接口是 SortedMap 的集合類似物。)
插入有序集合的所有元素都必須實現(xiàn) Comparable 接口(或被指定的比較器接受)。 此外,所有此類元素必須相互比較:e1.compareTo(e2)(或comparator.compare(e1, e2))不得為排序集中的任何元素e1 和e2 拋出ClassCastException。 嘗試違反此限制將導(dǎo)致有問題的方法或構(gòu)造函數(shù)調(diào)用拋出 ClassCastException。
請注意,如果有序集合要正確實現(xiàn) Set 接口,則由有序集合維護的排序(無論是否提供顯式比較器)必須與 equals 一致。這是因為 Set 接口是根據(jù)等于操作定義的,但排序集使用其 compareTo(或比較)方法執(zhí)行所有元素比較 ,因此從排序集的角度來看,此方法認(rèn)為相等的兩個元素是相等的。 一個有序集合的行為是明確定義的,即使它的排序與equals不一致; 它只是不遵守 Set 接口的一般約定。
所有通用排序集實現(xiàn)類都應(yīng)提供四個“標(biāo)準(zhǔn)”構(gòu)造函數(shù): 1) 一個 void(無參數(shù))構(gòu)造函數(shù),它創(chuàng)建一個空排序集,根據(jù)其元素的自然順序排序。 2) 具有 Comparator 類型的單個參數(shù)的構(gòu)造函數(shù),它創(chuàng)建一個空的排序集,根據(jù)指定的比較器排序。 3) 一個具有單個 Collection 類型參數(shù)的構(gòu)造函數(shù),它創(chuàng)建一個新的排序集,其元素與其參數(shù)相同,并根據(jù)元素的自然順序進行排序。 4) 具有類型為 SortedSet 的單個參數(shù)的構(gòu)造函數(shù),它創(chuàng)建一個具有與輸入排序集相同元素和相同順序的新排序集。 無法強制執(zhí)行此建議,因為接口不能包含構(gòu)造函數(shù)。
注意:一些方法返回具有受限范圍的子集。 這樣的范圍是半開的,也就是說,它們包括它們的低端點但不包括它們的高端點(如果適用)。 如果您需要一個封閉范圍(包括兩個端點),并且元素類型允許計算給定值的后繼值,則只需請求從 lowEndpoint 到后繼值(highEndpoint)的子范圍。 例如,假設(shè) s 是一組已排序的字符串。 下面的成語獲得了一個視圖,該視圖包含 s 中從低到高的所有字符串,包括:
SortedSet<String> sub = s.subSet(low, high+"\0");
類似的技術(shù)可用于生成開放范圍(不包含端點)。 下面的語句獲得了一個視圖,該視圖包含了 s 中從低到高的所有字符串,排他性的:
SortedSet<String> sub = s.subSet(low+"\0", high);
此接口是 Java 集合框架的成員。
修飾符和類型 | 方法 | 描述 |
---|---|---|
Comparator<? super E> | comparator() | 返回用于對該 set 中的元素進行排序的比較器,如果此 set 使用其元素的 Comparable,則返回 null。 |
E | first() | 返回此集合中當(dāng)前的第一個(最低)元素。 |
SortedSetE | headSet(E toElement) | 返回此集合中元素嚴(yán)格小于 toElement 的部分的視圖。 |
E | last() | 返回此集合中當(dāng)前的最后一個(最高)元素。 |
default SpliteratorE | spliterator() | 在此排序集中的元素上創(chuàng)建一個 Spliterator。 |
SortedSetE | subSet(E fromElement, E toElement) | 返回此集合部分的視圖,其元素范圍從 fromElement(包括)到 toElement(不包括)。 |
SortedSetE | tailSet(E fromElement) | 返回此集合中元素大于或等于 fromElement 的部分的視圖。 |
從接口 java.util.Collection 繼承的方法 |
---|
parallelStream, removeIf, stream |
從接口 java.lang.Iterable 繼承的方法 |
---|
forEach |
從接口 java.util.Set 繼承的方法 |
---|
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray |
Comparator<? super E> comparator()
返回用于對該 set 中的元素進行排序的比較器,如果此 set 使用其元素的 Comparable,則返回 null。
返回:
用于對該集合中的元素進行排序的比較器,如果此集合使用其元素的自然排序,則為 null
SortedSetE subSet(E fromElement, E toElement)
返回此集合部分的視圖,其元素范圍從 fromElement(包括)到 toElement(不包括)。 (如果 fromElement 和 toElement 相等,則返回的集合為空。)返回的集合由該集合支持,因此返回集合中的更改會反映在該集合中,反之亦然。 返回的集合支持該集合支持的所有可選集合操作。
返回的集合將在嘗試插入超出其范圍的元素時拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromElement | 返回集的低端點(包括) |
toElement | 返回集的高端點(不包括) |
返回:
此集合的一部分的視圖,其元素范圍從 fromElement(包括)到 toElement(不包括)
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromElement 和 toElement 不能使用該集合的比較器相互比較(或者,如果該集合沒有比較器,則使用自然排序)。 如果 fromElement 或 toElement 無法與集合中當(dāng)前的元素進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromElement 或 toElement 為 null 并且此集合不允許 null 元素 |
IllegalArgumentException | 如果 fromElement 大于 toElement; 或者如果這個集合本身有一個受限制的范圍,并且 fromElement 或 toElement 位于范圍的范圍之外 |
SortedSetE headSet(E toElement)
返回此集合中元素嚴(yán)格小于 toElement 的部分的視圖。 返回的集合由該集合支持,因此返回集合中的更改會反映在該集合中,反之亦然。 返回的集合支持該集合支持的所有可選集合操作。
返回的集合將在嘗試插入超出其范圍的元素時拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
toElement | 返回集的高端點(不包括) |
返回:
此集合中元素嚴(yán)格小于 toElement 的部分的視圖
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 toElement 與該集合的比較器不兼容(或者,如果該集合沒有比較器,如果 toElement 沒有實現(xiàn) Comparable)。 如果 toElement 無法與集合中的當(dāng)前元素進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 toElement 為 null 并且此集合不允許 null 元素 |
IllegalArgumentException | 如果這個集合本身有一個限制范圍,并且 toElement 位于范圍的范圍之外 |
SortedSetE tailSet(E fromElement)
返回此集合中元素大于或等于 fromElement 的部分的視圖。 返回的集合由該集合支持,因此返回集合中的更改會反映在該集合中,反之亦然。 返回的集合支持該集合支持的所有可選集合操作。
返回的集合將在嘗試插入超出其范圍的元素時拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromElement | 返回集的低端點(包括) |
返回:
此集合中元素大于或等于 fromElement 的部分的視圖
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromElement 與這個集合的比較器不兼容(或者,如果集合沒有比較器,如果 fromElement 沒有實現(xiàn) Comparable)。 如果無法將 fromElement 與當(dāng)前集合中的元素進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromElement 為 null 并且此集合不允許 null 元素 |
IllegalArgumentException | 如果此集合本身具有受限范圍,并且 fromElement 位于范圍的范圍之外 |
E first()
返回此集合中當(dāng)前的第一個(最低)元素。
返回:
當(dāng)前在此集合中的第一個(最低)元素
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果這個集合是空的 |
E last()
返回此集合中當(dāng)前的最后一個(最高)元素。
返回:
當(dāng)前在此集合中的最后一個(最高)元素
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果這個集合是空的 |
default SpliteratorE spliterator()
在此排序集中的元素上創(chuàng)建一個 Spliterator。
Spliterator 報告 Spliterator#DISTINCT、Spliterator#SORTED 和 Spliterator#ORDERED。 實施應(yīng)記錄附加特征值的報告。
如果排序集的比較器為空,則拆分器的比較器必須為空。 否則,拆分器的比較器必須與排序集的比較器相同或施加相同的總排序。
指定者:
接口 CollectionE 中的分離器
指定者:
接口 IterableE 中的分離器
指定者:
接口 SetE 中的分離器
返回:
在此排序集中的元素上的 Spliterator
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: