Comparable和Comparator的区别

  • Post author:
  • Post category:其他




相同点

都是用来对象之间的比较



不同点

1、

Comparable

:在java.lang包下


Comparator

:在java.util包下

2、

Comparable

:需要重写compareTo(Object o)方法


Comparator

:需要重写compare(Object o1, Object o2)方法

3、

comparable

:①是内在比较器,该类的对象可以直接相互比较this.compareTo(this),②可以直接使用Collections.sort方法排序


Comparator

:①是外在比较器,没有实现comparable还想实现比较排序可以compare(o1,o2)

4、omparator 是典型的策略模式

5、Comparable和Comparator存在,Comparator优先级高

6、

Comparable

:需要修改原先的实体类,是一种自然的排序


Comparator

:不用修改原先的类而实现的比较器,实际应用广



版权声明:本文为PPDY93原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。