E
-元素这一套保持型
public interface SortedSet<E> extends Set<E>
Set
进一步提供了一个总序的元素。用他们的
natural ordering元素是有序的,或由
Comparator
通常设置在设置创建时间排序。该集合的迭代器将遍历集合中的元素顺序。提供了一些额外的操作以利用排序。(此接口是
SortedMap
。集模拟)
所有的元素插入排序集必须实现Comparable接口(或由指定的比较器接受)。此外,所有这些元素必须相互比较:e1.compareTo(e2)(或comparator.compare(e1, e2))必须不把任何一个元素e1和e2在排序集ClassCastException。企图违反此限制将导致犯罪的方法或构造函数调用扔ClassCastException。
注意排序排序保持(是否提供一个明确的比较器)必须符合等于如果排序是正确执行Set接口。(见Comparable接口或Comparator接口用于符合等于。精确的定义)这是因为Set接口在equals操作定义,但排序执行所有的元素进行比较使用compareTo(或compare)方法,所以两元素被视为平等的方法是,从排序来看,平等。一个排序的集合是明确即使其排序是不等于行为;它只是不服从的Set接口一般合同。
所有通用的排序设置实现类应提供四个“标准”的构造函数:1)一个无效(无参数)构造函数,它创建一个空的排序集,根据其元素的自然顺序。2)一个带有一个参数的类型Comparator构造函数,它创建一个空的分类根据指定的比较器排序。3)一个带有一个参数的类型Collection构造函数,创建一个新的排序设置作为参数相同的元素,根据元素的自然顺序排序。4)一个带有一个参数的类型SortedSet构造函数,创建一个新的排序设置相同的元素和顺序输入排序设置相同。没有办法强制执行此建议,因为接口不能包含构造函数。
注意:几种方法返回有限制范围的子集。这样的范围半开,即包括低而不是高端点的端点(如适用)。如果你需要一个封闭范围(包括端点),和元素类型允许计算的继任者的给定值,仅仅从lowEndpoint到successor(highEndpoint)请求子。例如,假设s是排序的字符串。下列成语中得到一个包括s所有的字符串从low到high,包容:
SortedSet <字符串> 子= s.subset(低,高+“0”); 字符串>类似的技术可以被用来生成一个开放的范围(其中不含端点)。下列成语中得到一个包括 s所有的字符串从 low到 high,独家:
SortedSet <字符串> 子= s.subset(低+“0”,高); 字符串>
该接口的 Java Collections Framework成员。
Set
,
TreeSet
,
SortedMap
,
Collection
,
Comparable
,
Comparator
,
ClassCastException
Modifier and Type | Method and Description |
---|---|
Comparator<? super E> |
comparator()
返回用于命令set中元素的比较,或
null如果使用此设置元素的
natural ordering。
|
E |
first()
返回当前在该集合中的第一个(最低的)元素。
|
SortedSet<E> |
headSet(E toElement)
返回从这个集合的元素是严格小于
toElement部分。
|
E |
last()
返回当前在该集合中的最后(最高)元素。
|
default Spliterator<E> |
spliterator()
创建在这个集合中的元素个
Spliterator 排序。
|
SortedSet<E> |
subSet(E fromElement, E toElement)
返回从这个集合的元素范围从
fromElement,包容的部分
toElement,独家。
|
SortedSet<E> |
tailSet(E fromElement)
返回从这个集合的元素都大于或等于
fromElement部分。
|
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
parallelStream, removeIf, stream
Comparator<? super E> comparator()
SortedSet<E> subSet(E fromElement, E toElement)
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
fromElement
低端点(含)返回的集合的
toElement
高端点(独家)返回的集合的
ClassCastException
-如果
fromElement和
toElement无法相比的另一个使用这个设置的比较器(或者,如果无比较器,采用自然排序)。实现可能,但不是必需的,如果
fromElement或
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
fromElement或
toElement是无效的,这套不允许null元素
IllegalArgumentException
-如果
fromElement大于
toElement;或者如果这集本身有一个限制的范围内,和
fromElement或
toElement超出范围的界限
SortedSet<E> headSet(E toElement)
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
toElement
高端点(独家)返回的集合的
ClassCastException
-如果
toElement不是这集的比较器(或兼容,如果设置没有比较,如果
toElement不实现
Comparable
)。实现可能,但不是必需的,如果
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException
是无效的,这套不允许null元素
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
toElement超出范围的界限
SortedSet<E> tailSet(E fromElement)
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
fromElement
低端点(含)返回的集合的
ClassCastException
-如果
fromElement不是这集的比较器(或兼容,如果设置没有比较,如果
fromElement不实现
Comparable
)。实现可能,但不是必需的,如果
fromElement不能相比,目前在集合元素抛出该异常。
NullPointerException
是无效的,这套不允许null元素
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
fromElement超出范围的界限
E first()
NoSuchElementException
-如果这集是空的
E last()
NoSuchElementException
-如果这集是空的
default Spliterator<E> spliterator()
Spliterator
排序。
报告的Spliterator
Spliterator.DISTINCT
,Spliterator.SORTED
和Spliterator.ORDERED
。实现应该记录额外的特征值的报告。
的spliterator的比较器(见Spliterator.getComparator()
)必须null
如果排序的比较器(见comparator()
)是null
。否则的spliterator的比较器必须相同或施加相同的总顺序排序的比较器。
spliterator
接口
Collection<E>
spliterator
接口
Iterable<E>
spliterator
接口
Set<E>
Iterator
后期绑定spliterator。的spliterator继承快速失败性质的集合的迭代器。的spliterator的比较器作为排序的比较器相同。
创建Spliterator
另外报道Spliterator.SIZED
。
Spliterator
另外报道
Spliterator.SUBSIZED
。
Spliterator
排序的集合中的元素
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.