相同点
都是用来对象之间的比较
不同点
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:不用修改原先的类而实现的比较器,实际应用广
本文探讨了Comparable和Comparator接口在Java中的用途。Comparable用于对象的自然排序,需要重写compareTo()方法;Comparator则提供外部排序,位于java.util包下,需重写compare()方法。Comparator适合未实现Comparable接口的类进行排序,且更符合策略模式,应用更为广泛。
196

被折叠的 条评论
为什么被折叠?



