`
Lightning001
  • 浏览: 13048 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

comparator和Comparable用法和区别

 
阅读更多
Comparator   和Comparable都是接口,两者之间可以说没什么关系。Comarator位于包java.util下,而Comparable位于包   java.lang下。通俗的说:Comparator是一个比较器,相当于一种工具,它定义了俩个方法,分别是   int   compare(T   o1,   T   o2)和   boolean   (Object   obj),所以你可以通过实现这个接口来是定义你所有需要的比较器,如比较俩个人的大小,对象人有姓名、性别、年龄等属性,你在定义这个比较器的时候就可以在compare方法中对传入的俩个参数(person1,person2)的年龄进行大小的比较,从而确定这俩个人的大小。 
  而Comparable接口是你要是定义的类要实现的一个接口(如果这个类的实例需要和同一类的别的实例比较大小,而这个大小关系你希望是你自己定义的),它只提供了   int   compareTo(T   o)方法,也就是说假如我定义了一个Person类,这个类实现了   Comparable接口,那么当我实例化Person类的person1后,我想比较person1和一个现有的Person对象person2的大小时,我就可以这样来调用:person1.comparTo(person2),通过返回值就可以判断了;而此时如果你定义了一个   PersonComparator(实现了Comparator接口)的话,那你就可以这样:PersonComparator   comparator=   new   PersonComparator();comparator.compare(person1,person2);。
分享到:
评论

相关推荐

    对比Java中的Comparable排序接口和Comparator比较器接口

    Comparable和Comparator接口都可用作普通意义上对象间的比大小,但两个接口在实例化方面的用法不尽相同,接下来我们就来详细对比Java中的Comparable排序接口和Comparator比较器接口

    比较器(Comparable、Comparator)

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082723

    java实现别踩白块儿源码-SortedList:用Java编写的SortedList的实现。可以与实现Comparable接口的对象一起使用

    当且仅当要使用的对象实现Comparable接口时,我们也可以创建不带Comparator对象的SortedList。 用法 我们将像创建Java中的任何ArrayList一样创建SortedList: SortedList sortedlist = new SortedList(comparator); ...

    Java服务器端开发面试.doc

    Java服务器端开发面试题 Java服务器端开发面试题篇1 Hashcode()和equals(), 明白背后的原理,包括hashcode()的用法,各自的区别,如何,何时覆盖,为何覆盖 区别new String()和 申明的字符串的区别,String不变量,堆...

    version4j:用于帮助比较major.minor.patch版本的库

    实现标准的Comparable和Comparator接口。用法稳定的: <dependency><groupId>com.kcthota</groupId><artifactId>version4j</artifactId><version>4.0</version></dependency>例子解析版本尝试将字符串解析为版本...

    AIC的Java课程1-6章

     区别和掌握按值传递与按引用传递。 第4章 面向对象(封装) 4课时  理解类封装属性(数据成员)和行为(方法成员),区别类和对象。  能够定义类,创建类的对象(实例化类)和通过对象引用访问...

    CollectionDemo

    CollectionDemo ##关于学习 ###多用 Google,少用某度;...TreeSetDemo1.java 讲解 TreeSet 的一些知识和用法实例程序 ##参考资料 ###大部分来自 StackOverFlow Java : Comparable vs Comparator What

    sample:核心 Java 示例

    样本 核心 Java 示例 1.Comparable Vs Comparator 2.Equal() & HashCode() 契约 3.Runtime Class 4.Uninstantiable Class 5.Immutable Class

    java常用工具类的使用

    SimpleDateFormat是DateFormat的子类,用法和DateFormat类基本一致,主要使用format()方法。 代码演示:SimpleDateFormat进行日期转换 import java.text.SimpleDateFormat; import java.util.Date; public class ...

    Java学习笔记-个人整理的

    {4.9}Comparable与Comparator}{86}{section.4.9} {4.9.1}Comparable}{86}{subsection.4.9.1} {4.9.2}Comparator}{87}{subsection.4.9.2} {4.10}包装类}{87}{section.4.10} {4.11}集合的复制}{88}{section.4.11}...

Global site tag (gtag.js) - Google Analytics