java中Comparable接口(比较器)的使用
2016-03-29 10:30
127 查看
/*比较器的使用*/
class Student implements Comparable<Student>{ //指定泛型类型为Student
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 +"\t\t"+age+"\t\t"+score;
}
public int compareTo(Student stu){
if(this.score > stu.score){
return -1;
}else if(this.score < stu.score){
return 1;
}else{
if(this.age > stu.age){
return 1;
}else if(this.age <stu.age){
return -1;
}else{
return 0;
}
}
}
}
public class ComparableDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu[] = {new Student("张三",20,20.0f),
new Student("李四",30,23.5f),
new Student("王五",30,32.4f),
new Student("赵六",34,34.3f)
};
java.util.Arrays.sort(stu);
for(int i=0; i<stu.length; i++){
System.out.println(stu[i]);
}
}
}
/*
运行结果:
赵六 34 34.3
王五 30 32.4
李四 30 23.5
张三 20 20.0
*/
class Student implements Comparable<Student>{ //指定泛型类型为Student
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 +"\t\t"+age+"\t\t"+score;
}
public int compareTo(Student stu){
if(this.score > stu.score){
return -1;
}else if(this.score < stu.score){
return 1;
}else{
if(this.age > stu.age){
return 1;
}else if(this.age <stu.age){
return -1;
}else{
return 0;
}
}
}
}
public class ComparableDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu[] = {new Student("张三",20,20.0f),
new Student("李四",30,23.5f),
new Student("王五",30,32.4f),
new Student("赵六",34,34.3f)
};
java.util.Arrays.sort(stu);
for(int i=0; i<stu.length; i++){
System.out.println(stu[i]);
}
}
}
/*
运行结果:
赵六 34 34.3
王五 30 32.4
李四 30 23.5
张三 20 20.0
*/
相关文章推荐
- java15天
- java使用poi操作Excel
- 安装JDK提示: 该项不适于在指定状态下使用的错误
- java 求数字在排序数组中出现的次数(O(logn))
- javaweb入门
- java基础知识汇总6(html篇)
- eclipse中使用git进行版本控制
- Java随机数
- java 读取文件
- java基础知识总结5
- Java学习笔记(十六):UML类图符号以及各种关系
- Java中hashCode的作用
- java基础知识汇总4
- 通过web.xml启动spring容器遇到classnotfound解决方法
- SpringMVC国际化中的localeResolver接口!
- Java 单例真的写对了么?
- java笔记
- java14天
- javaEE项目抽取BaseService及其注意事项
- myeclipse安装svn插件并使用(本地link链接式安装插件-非侵入式安装)