Comparable接口与Comparator接口的比较————总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Comparable接口与Comparator接口的比较————总结相关的知识,希望对你有一定的参考价值。
之前的两篇文章主要学习了Comparable接口和Comparator接口的学习。既然已经学习完了,现在就趁热打铁,进行总结吧!
Comparable接口和Comparator接口的共同点:
1. 都是为了进行排序。(废话,当然都是进行排序了!!!嘿嘿,大家都能看出来,不过还是写下来了!)
2. 都是接口。(额。。又是废话)
除此之外,小编想不出还有什么共同点了!想到了其他的相同点可以在文章下方留言,大家一起学习!
相同点说完了,接下来就是不同点啦。
Comparable接口与Comparator接口的不同点:
1. 虽然都是为了排序,但是排序的方式不同。
Comparable接口的排序是:按字典顺序排序。
Comparator接口的排序是:coder自己设定的排序,包含字典属性排序。
这是主要的区别呀!
2. 其次实现的方法不同。(这个大家都知道的哈)
Comparable接口的方法:compareTo(Object o)
Comparator接口的方法:compare(T o1, To2)
3. 再者使用的方式不同。(小编都不好意思在编下去了......)
针对不同的对象,使用的方式也不同:
List列表:
Comparable接口:Collections.sort(List<T> list);
Comparator接口:Collections.sort(List<T> list, Comparator<? super T> c);
Array数值:
Comparable接口:Arrays.sort(List<T> list);
Comparator接口:Arrays.sort(List<T> list, Comparator<? super T> c);
4. 实现的方式不同。
Comparable接口的实现:直接用需要进行排序的类实现即可。例如:public class User implements Comparable<User>
Comparator接口的实现:需要新建一个类实现此接口。例如:public class UserComparator implements Comparator<User>
以上就是Comparable接口与Comparator接口的异同了!如有遗漏的,小伙伴们可以在下面评论哈,告诉我,你们是我的老师哈!
以上是关于Comparable接口与Comparator接口的比较————总结的主要内容,如果未能解决你的问题,请参考以下文章