码迷,mamicode.com
首页 > 其他好文 > 详细

关于comparator接口和comparable接口以及它们各自的方法compare()和compareTo()

时间:2015-03-16 01:02:02      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:comparable接口   comparator的使用   java   

在今天做的LeetCode的题中有两道都出现了利用接口实现对象的排序,两题的相关链接:

1.利用comparable接口对对象排序

2.利用comparator接口实现排序

由于之前都没接触过这两个接口,一时不能明白它们的作用,所以在网上查找了很多资料,现在大致弄清楚一些,现在记录下来,有什么欠缺,欢迎大家及时指正技术分享

1.Comparable<T>接口

在java API文档中描述此接口是强行将实现它的每一个类的对象进行整体排序-----称为该类的自然排序,实现此接口的对象列表和数组可以用Collections.sort(),和Arrays.sort()进行自动排序;

也就是说,只要实现了这个接口的对象(数组)就相当于有了排序的能力,所以叫做comparable---可排序的,所以可以说这是一种内部排序的方式,通过实现它唯一的方法compareTo(),关于此方法下面会再提及;

2.Comparator<T>接口

对于它,则是针对一些本身没有比较能力的对象(数组)为它们实现比较的功能,所以它叫做比较器,是一个外部的东西,通过它定义比较的方式,再传到Collection.sort()和Arrays.sort()中对目标排序,而且通过自身的方法compare()定义比较的内容和结果的升降序;

3.关于排序结果升降序的疑问

困得不行了,明天再补充技术分享

关于comparator接口和comparable接口以及它们各自的方法compare()和compareTo()

标签:comparable接口   comparator的使用   java   

原文地址:http://blog.csdn.net/ymzmdx/article/details/44285903

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!