A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

定义一个比较器,实现Comparator接口,只复写compare()方法,为什么不用复写equals()方法啊。
(Comparator接口有compare和equals两个方法)。      
是因为自定义的比较器继承了 Object 的缘故吗

3 个回复

正序浏览
个人总结:
comparable 是让元素自身(元素)进行比较,你大还是我大,你长还是我长,这个对象都是元素自身....需要通过equals,compareTo,hashColde....这些方法都是比较的元素自身.
comparator 就相当于领导(集合),它是站在一个更高角度去看它里面的这些元素,所以能够给这些元素进行排序.而排序,它有自身的比较方法,比如compare,和equals,可以通过collections里面的一些比较方法进行控制操作,比如倒序.reverseOrder()倒序,还可以随机shuffle()....

一个是操作元素本身,一个是对整体元素进行操作.
个人的一些理解,获取有不对的地方,仅当参考.呵呵

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
不好意思  上面Comparator   写错了
回复 使用道具 举报
equals 是对元素进行判断的,  而Compacter 是对元素进行排序的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马