当前位置:  编程技术>java/j2ee

java比较器Comparable接口与Comaprator接口的深入分析

    来源: 互联网  发布时间:2014-10-26

    本文导语:  java的比较器有两类,分别是Comparable接口和Comparator接口。在为对象数组进行排序时,比较器的作用非常明显,首先来讲解Comparable接口。让需要进行排序的对象实现Comparable接口,重写其中的compareTo(T o)方法,在其中定义排序规则...

java的比较器有两类,分别是Comparable接口和Comparator接口。
在为对象数组进行排序时,比较器的作用非常明显,首先来讲解Comparable接口。
让需要进行排序的对象实现Comparable接口,重写其中的compareTo(T o)方法,在其中定义排序规则,那么就可以直接调用java.util.Arrays.sort()来排序对象数组,实例如下:
代码如下:

class Student implements Comparable{
    private String name;
    private int age;
    private float score;

    public Student(String name, int age, float score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public String toString()
    {
        return name+"tt"+age+"tt"+score;
    }
    @Override
    public int compareTo(Student o) {
        // TODO Auto-generated method stub
        if(this.score>o.score)//score是private的,为什么能够直接调用,这是因为在Student类内部
            return -1;//由高到底排序
        else if(this.scoreo.age)
                return 1;//由底到高排序
            else if(this.ageo2.getScore())
            return -1;
        else if(o1.getScore()o2.getAge())
                return 1;
            else if(o1.getAge()

    
 
 

您可能感兴趣的文章:

  • java比较器comparator使用示例分享
  • java命名空间javax.script接口invocable的类成员方法: getinterface定义及介绍
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java命名空间javax.lang.model.element接口typeelement的类成员方法: getinterfaces定义及介绍
  • ImageMagick的Java 接口 im4java
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getmanagementspecversion定义及介绍
  • 【请教】java中接口问题
  • java命名空间java.beans.beancontext接口beancontextproxy的类成员方法: getbeancontextproxy定义及介绍
  • 我刚学java,想请教一下,我在文本中创建了一个接口,一个类,还有一个扩展类,保存为.java文件时,如何给文件名?
  • java命名空间javax.print接口uriexception的类成员方法: getreason定义及介绍
  • 在java中接口与抽象类在使用中有多大的区别
  • java命名空间javax.swing.text接口caret的类成员方法: install定义及介绍
  • SVN的Java接口 svnClientAdapter
  • java命名空间javax.swing接口rootpanecontainer的类成员方法: getrootpane定义及介绍
  • ImageMagick的Java接口 JMagick
  • java命名空间javax.swing.text接口highlighter的类成员方法: install定义及介绍
  • Java与Microsoft Office的接口问题
  • java命名空间java.lang.reflect接口parameterizedtype的类成员方法: getrawtype定义及介绍
  • java与C++的通信接口是什么阿?
  • java命名空间javax.management接口descriptorread的类成员方法: getdescriptor定义及介绍
  • 亚马逊Web服务的Java接口 Typica
  • java命名空间java.sql接口wrapper的类成员方法: unwrap定义及介绍
  • Java邮件接口 JavaMail
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang接口comparable<t>的类成员方法: compareto定义及介绍
  • java.lang.Comparable接口有什么用?应该怎么用?
  • Java 中Comparable和Comparator区别比较
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • WEB前端 iis7站长之家
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3