哥们!找不到符号之类的问题一般都是 没有导包之类的!
我不知道你知不道怎么导包!在java文件的头部加上即可:
import java.util.*;
然后说下今天我做那个基础测试题目的排序。
关于一般的排序。你这样就OK!但是对于对象数组的排序,或者说按照特定关键字的排序!则用到Comparator接口。
要求根据学生student的成绩进行排序:
class MyComparator implements Comparator<Student>{ //这里泛型 指定传入的对象类型
public int compare(Student stu1,Student stu2){ //这里会自动出去两个对象进行比较,根据比较的大小决定是否互换。
if(stu1.getScore() > stu2.getScore()){
return 1 ;
}else{
return 0;
}
}
}
public class SortStudent{
public static void main(String[] args){
Student[] student = new Student[5];
student[0] = new Student("xiaohong",18,89.5f);
student[1] = new Student("xiaoming",20,89f);
student[2] = new Student("xiaobai",17,88f);
student[3] = new Student("xiaotian",19,60.5f);
student[4] = new Student("xiaohua",20,70f);
System.out.println("------------排序之前------------");
for(int i = 0 ; i < student.length ; i ++){
System.out.println("姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 成绩:" + student[i].getScore());
}
Arrays.sort(student, new MyComparator());
//其实这里我感觉有点像是java中的钩子函数,JDK中并没有去实现。而是留出接口让程序员自己去实现。根据MyComparator中函数的返回值来进行排序。
System.out.println("------------排序之后------------");
for(int i = 0 ; i < student.length ; i ++){
System.out.println("姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 成绩:" + student[i].getScore());
}
}
}
以上是我今天查JDK得来的结果。当然也不算是完美。只是写下相当于是一篇总结嘛,拿来互相分享。
|