TreeSet

基于排列顺序实现元素不重复

  • 实现了SortedSet接口,对集合元素自动排序
  • 元素对象的类型必须实现Comparable接口,指定排序规则
  • 通过CompareTo方法确定是否为重复元素

 

 

TreeSet的基本使用

Set 实现类 TreeSet,重写CompareTo+

 

数据添加正常,没有报错

 

我们再来添加类型数据,比如说person类型的数据,包含了姓名和年龄数据。

Set 实现类 TreeSet,重写CompareTo+

运行程序,返现报错:person类型的数据没有办法转化成comparable对象的数据,意思就是说,treeset是二叉树,红黑树。它没办法比较person数据的大小。不像是字母和数字可以判断大小

Set 实现类 TreeSet,重写CompareTo+

 

所以使用TreeSet 的要求: 你的元素必须要实现Comparable接口 ★★★★★

 

Set 实现类 TreeSet,重写CompareTo+

只需要重写compareTo方法就可以了

Set 实现类 TreeSet,重写CompareTo+

其中一种是 自己定义比较的规则 ,先比较姓名再比较年龄

Set 实现类 TreeSet,重写CompareTo+

 

compareTo方法返回值为 0 ,认为是重复元素

 

我们还可以通过在创建集合的时候就指定他的比较规则,使用的是Comparator,匿名内部类

Set 实现类 TreeSet,重写CompareTo+

 

 

 

 

 

相关文章: