SortedSet是根据元素的自然序或者提供的Comparator以升序存储元素的Set.

在普通的set操作之外,SortedSet接口还提供了如下操作:

  1. 区间视图 —— 允许在有序set上进行任何区间操作
  2. 端点 —— 返回有序set中的首元素或尾元素
  3. 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
  1. 这两个操作都只取一个object参数。前者返回后台sortedset,从开始直到制定对象,但不包含这个指定对象的部分视图。后者返回sortedset从指定元素开始知道后台sortedset结束的最好部分的视图。