TreeSet
基于排列顺序实现元素不重复
- 实现了SortedSet接口,对集合元素自动排序
- 元素对象的类型必须实现Comparable接口,指定排序规则
- 通过CompareTo方法确定是否为重复元素
TreeSet的基本使用
数据添加正常,没有报错
我们再来添加类型数据,比如说person类型的数据,包含了姓名和年龄数据。
运行程序,返现报错:person类型的数据没有办法转化成comparable对象的数据,意思就是说,treeset是二叉树,红黑树。它没办法比较person数据的大小。不像是字母和数字可以判断大小
所以使用TreeSet 的要求: 你的元素必须要实现Comparable接口 ★★★★★
只需要重写compareTo方法就可以了
其中一种是 自己定义比较的规则 ,先比较姓名再比较年龄
compareTo方法返回值为 0 ,认为是重复元素
我们还可以通过在创建集合的时候就指定他的比较规则,使用的是Comparator,匿名内部类