黑马程序员技术交流社区

标题: 关于Comparable和Comparator [打印本页]

作者: luoyu1530    时间: 2015-4-1 22:24
标题: 关于Comparable和Comparator
题目没写错吧,Comparale是接口,如果使用TreeMap需要实现这个接口,然后重写CompareTo方法,就可以实现自然排序,

然后上课的时候有教匿名内部类实现比较。但是实现的却是Comparator接口,使用的是compare方法

这两个接口有什么区别吗?要在什么时候使用,很容易搞混。新人发帖,不懂勿怪
作者: wu1123    时间: 2015-4-1 22:45
看到这一块有点糊涂
作者: 466273082    时间: 2015-4-1 23:12
只要实现了Comparale这个借口的都可以调用CompareTo这个方法,我记得这些方法好像是TreeSet中的吧,这两种方式都是实现排序的,用哪种都可以的,但是第一种是让元素自身具备比较性,第二种是当元数不具备比较性时可以使用Cmoparator,这是我的理解哈!!!
作者: 马士基    时间: 2015-4-2 11:56
Comparable接口是要存进集合的元素来实现的接口,实现这个接口后,TreeMap才能根据compareTo方法来进行元素的有序存储,而实现了Comparator接口的类称为比较器,在TreeMap的构造函数中传入一个比较器实例对象作为参数,依据的是比较器实例对象的compare方法,实现TreeMap对元素的有序存储。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2