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

 

posted @ 2019-06-21 13:25  远方的人111  阅读(462)  评论(0)    收藏  举报