黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
wjj410830911
时间:
2013-11-20 12:34
标题:
求解
求解 关于集合
Comparable和Comparator区别是什么
作者:
付凯鹏
时间:
2013-11-20 12:49
Comparable 用作默认的比较方式
Comparator 用作自定义的比较方式,当默认的比较方式不适用时或者没有提供默认的比较方式,使用Comparator就非常有用。
像Arrays和Collections中的排序方法,当不指定Comparator时使用的就是默认排序方式,也就是使用Comparable。指定Comparator时就是使用提供的比较器。
sort(Object[]) 所有的对象都必须实现Comparable接口,它用来确定对象之间的大小关系
sort(Object[], Comparator) 对象不必实现Comparable接口,由Comparator来确定对象之间的大小关系。
作者:
zy888802
时间:
2013-11-20 13:01
comparable& Comparator 都是用来实现集合中的排序的,只是Comparable是在集合内部定义的方法实现的排序,Comparator是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义Comparator接口的方法compare()或在集合内实现Comparable接口的方法compareTo()。
Comparable是一个对象本身就已经支持自比较所需要实现的接口(如String Integer自己就可以完成比较大小操作)
而Comparator是一个专用的
比较器
,当这个对象不支持自比较或者自比较函数不能满足你的要求时,你可以写一个
比较器
来完成两个对象之间大小的比较。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2