SortedSet是根据元素的自然序或者提供的Comparator以升序存储元素的Set.
在普通的set操作之外,SortedSet接口还提供了如下操作:
- 区间视图 —— 允许在有序set上进行任何区间操作
- 端点 —— 返回有序set中的首元素或尾元素
- Comparator存储 —— 如果存在用来排序的Comparator,则返回。
SortedSet操作:
SortedSet从继承Ser来的操作在SortedSet上的表现和普通的set完全相同。
但有两处例外:
iterator操作所返回的Iterator顺序遍历整个有序set |
---|
toArray操作返回的数组按顺序包含有序set中的元素 |
尽管接口并不保证,但Java平台中SortedSet的toString方法返回按顺序包含有序set中所有元素的String。
SortedSet中的“标准构造函数”:
大部分情况下,sortedSet实现也提供从comparator为参数,并根据整个comparator返回一个空的构造函数,如果把null传给整个构造函数,它返回根据自然序排列这些元素的set.
SortedSet中的“区间视图”操作:
set中提供的区间视图操作和List接口中的有点类似,但一个很大的不同时,当后台sorted被直接修改时,sorted的区间视图操作还是有效的。
SortedSet提供了三种区间视图操作:
subset、headset、tailset |
---|
第一个选择前后两个端点和subList很像,端点是对象而不是索引,而且必须能使用set的sublist一样,区分是半开的,包含低端点但不包含高端点的。
SortedSet提供了二种区间视图操作:
headset和tailset |
---|
这两个操作都只取一个object参数。前者返回后台sortedset,从开始直到制定对象,但不包含这个指定对象的部分视图。后者返回sortedset从指定元素开始知道后台sortedset结束的最好部分的视图。