TreeSet
属性:
TreeSet是一个包含有序的且没有重复元素的集合,通过TreeMap实现。TreeSet中含有一个"NavigableMap类型的成员变量"m,而m实际上是"TreeMap的实例"。
构造函数:
包级私有构造器:根据指定参数m创建TreeSet的底层map
公有构造器,调用上一个构造器方法,这里可以看出底层map为treemap.
构造一个新的,空的treeset,元素存储顺序和传入比较器一致.
所有被插入这个set的元素都应该可以使用这个比较器,
即在进行comparator.compare(e1,e2)的比较时,不能抛出类型安全异常
ClassCastException.如果用户尝试添加一个和此约束冲突的元素,则add()方法的
调用者会抛出类型安全异常.
如果传入比较器为null,则使用自然排序.
构造一个新的但包含指定集合元素的treeset,元素顺序为自然排序.
插入set的所有元素必须实现Comparable接口.
//创建一个新的,元素和给定参数的一致,并且排序和给定的有序set一致.
迭代器:
//返回一个元素降序的迭代器.
大小和是否为空:
是否包含和添加
移除和清空:
//方法时间复杂度:线性
//根据key值范围,截取set.调用的是NavigableSet的方法
//返回视图中所有元素的值:<=toElement
//返回视图中所有元素的值:>=toElement
//参数为true,则包含等于;否则不包含等于.
//因此本方中,返回key的范围为:[fromElement,toElement)
//返回key的范围:[,toElement)
//返回key范围:[,fromElement]
//获取底层treemap的比较器.
//获取第一个key
//获取最后一个key
//返回比e小且和e的差最小的key
//返回<=e的最大key
//返回>=e的最小key
//返回>e的最小值
//返回最小key;如果底层map为空,则返回null
//返回最大key;如果底层map为空,则返回null
克隆:
创建key的分割器
参考地址:
https://blog.csdn.net/caoxiaohong1005/article/details/79652229
https://www.cnblogs.com/yzf666/p/6473146.htm