黑马程序员技术交流社区
标题:
Comparable 和 Comparator 接口的区别是什么啊? 一直很糊涂
[打印本页]
作者:
Be_myself
时间:
2014-7-28 17:09
标题:
Comparable 和 Comparator 接口的区别是什么啊? 一直很糊涂
Comparable 和 Comparator 接口的区别是什么啊? 一直很糊涂
作者:
star5603
时间:
2014-7-28 18:20
你要让对象具有比较性,比如你自定义Person具有比较性,那就实现Comparable。
如果你的对象没有比较性,那就自定义一个比较器(也是自定义类)去实现Comparator。
作者:
☆枫の云
时间:
2014-7-28 19:04
TreeSet:可以对set集合中的元素进行排序。
底层数据结构是二叉树。
保证元素唯一性的依据。
compareTo方法返回零(return 0)。
TreeSet排序的第一种方式:让元素自身具备比较性。
元素需要实现Comparable接口,覆盖compareTo方法。
这种方式也称为元素的自然顺序,或者叫默认顺序。
TreeSet的第二种排序方式。
当元素自身不具备比较性时,或者具备的比较性不是所需要的。
这时就需要让集合自身具备比较性,需要传入一个实现了comparator接口的比较器。
在集合初始化时,就有了比较方式。
作者:
yuli2039
时间:
2014-7-28 19:08
定义的类实现Comparable,复写compareTo方法后,该类就具有了比较性,在使用二叉树结构的集合时,才能够排序!而当类自身的比较方式不适用,我们需要建立新的比较器,用Comparator来实现,复写compare方法,主要就是这样。
作者:
baiiiu
时间:
2014-7-28 19:21
comparable自然排序,貌似是根据哈希值来进行自然排序,comparator是自定义排序,实现该接口可以自定义一个比较器。
作者:
韩天雷
时间:
2014-7-28 19:34
throw 和 throws的区别
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2