当前位置: 编程技术>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
在为对象数组进行排序时,比较器的作用非常明显,首先来讲解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()
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!