Java集合学习九 SortedSet

一 继承关系及概述

SortedSet是个接口,它里面的(只有TreeSet这一个实现可用)中的元素一定是有序的。 保证迭代器按照元素递增顺序遍历的集合,可以按照元素的自然顺序(参见 Comparable)进行排序, 或者按照创建有序集合时提供的 Comparator进行排序。

这也是因为 Set 接口是按照 equals 操作定义的,但有序集合使用它的 compareTo(或 compare)方法对所有元素进行比较, 
因此从有序集合的观点来看,此方法认为相等的两个元素就是相等的。 
即使顺序没有保持相等一致性,有序集合的行为仍然是 定义良好的, 
只不过没有遵守 Set 接口的常规协定。 
所有通用有序集合实现类都应该提供 4 个“标准”构造方法: 
1) void(不带参数)构造方法,创建空的有序集合,按照元素的自然顺序 排序。 
2) 带有一个 Comparator 类型参数的构造方法,创建一个空的有序集合,根据指定的比较器排序。 
3) 带有一个 Collection 类型参数的构造方法,创建一个元素与参数相同的有序集合,按照元素的自然顺序排序。 
4) 带有一个 SortedSet 类型参数的构造方法,创建一个新的有序集合,元素及排序方法与输入的有序集合相同。 
除了 JDK 实现(TreeSet 类)遵循此建议外,无法保证强制实施此建议(因为接口不能包含构造方法)。

二 内部结构及方法

Comparator<? super E> comparator(); 返回比较器

SortedSet<E> subSet(E fromElement, E toElement); 返回指定区间的子set

SortedSet<E> headSet(E toElement); 返回从最开始的元素到指定元素区间的子set

SortedSet<E> tailSet(E fromElement); 返回从指定元素到末尾区间的子set

E first();返回第一个元素

E last();返回最后一个元素

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值