import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s[]=new Student[3];
s[0]=new Student("yang",1011,80);
s[1]=new Student("zhang",1010,90);
s[2]=new Student("america",1012,85);
Comparator c1=new ComparatorByName();
Comparator c2=new ComparatorByScore();
for(Student e:s){
System.out.println(e.getId()+" "+e.getName()+" "+e.getScore());
}
Arrays.sort(s, c1);
for(Student e:s){
System.out.println(e.getId()+" "+e.getName()+" "+e.getScore());
}
Arrays.sort(s, c2);
for(Student e:s){
System.out.println(e.getId()+" "+e.getName()+" "+e.getScore());
}
}
}
================================
/SortTest/src/ComparatorByScore.java
import java.util.Comparator;
public class ComparatorByScore implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
if(o1.getScore()>o2.getScore())return 1;
if(o1.getScore()<o2.getScore())return -1;
return 0;
}
}
===========================================
import java.util.Comparator;
public class ComparatorByName implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
return o1.getName().compareTo(o2.getName());
}
}
==============================================
public class Student {
String name;
int id;
int score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student(String name, int id, int score) {
super();
this.name = name;
this.id = id;
this.score = score;
}
}