首页技术文章正文

Java培训之Set接口(二)

更新时间:2017-06-30 来源:黑马程序员java培训学院 浏览量:

TreeSet:


用于对Set集合进行元素的指定顺序排序,排序需要依据元素自身具备的比较性。

如果元素不具备比较性,在运行时会发生ClassCastException异常。

所以需要元素实现Comparable接口,强制让元素具备比较性,复写compareTo方法。

依据compareTo方法的返回值,确定元素在TreeSet数据结构中的位置。

TreeSet方法保证元素唯一性的方式:就是参考比较方法的结果是否为0,如果return 0,视为两个对象重复,不存。
 
注意:在进行比较时,如果判断元素不唯一,比如,同姓名,同年龄,才视为同一个人。

在判断时,需要分主要条件和次要条件,当主要条件相同时,再判断次要条件,按照次要条件排序。
 
TreeSet集合排序有两种方式,Comparable和Comparator区别:

1:让元素自身具备比较性,需要元素对象实现Comparable接口,覆盖compareTo方法。

2:让集合自身具备比较性,需要定义一个实现了Comparator接口的比较器,并覆盖compare方法,并将该类对象作为实际参数传递给

TreeSet集合的构造函数。

第二种方式较为灵活。

本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:黑马程序员Java培训学院

首发:http://java.itheima.com/



分享到:
在线咨询 我要报名
和我们在线交谈!