Comparable和Comparator

Comparable

    Comparable是排序接口。若一个类实现了Comparable接口,就必须实现compareTo方法,意味着该类支持排序。
    使用Comparable简单, 只要实现Comparable接口的对象直接就成为一个可以比较的对象,但是需要修改源代码。

Comparator

    Comparator是比较接口,我们如果需要控制某个类的次序,而该类本身不支持排序,那么我们就可以建立一个比较器来进行排序,这个比较器需要实现Comparator接口。
    若一个类实现Comparator接口:它一定要实现compare(T o1, T o2) 函数。int compare(T o1, T o2) 是“比较o1和o2的大小”,返回“负数”,意味着“o1比o2小”;返回“零”,意味着“o1等于o2”;返回“正数”,意味着“o1大于o2”。
    使用Comparator 的好处是不需要修改源代码并且较灵活,而是另外实现一个比较器,当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了,并且在Comparator里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页