JAva ArrayListストレージオブジェクトによるソート
1112 ワード
c++におけるqsortの実現と極めて類似しており,新しい比較対象Comparatorを構築すればよい.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class Student{
public int age;
private String name;
public Student(String name,int age){
this.age=age;
this.name=name;
}
public String toString(){
String str=name+"is "+age;
return str;
}
}
public class Sort{
public static void main(String[] args){
ArrayList<Student> s=new ArrayList<Student>();
s.add(new Student("cjc",25));
s.add(new Student("jake",17));
s.add(new Student("john",30));
s.add(new Student("Alice",23));
System.out.println("The order before sorting!");
System.out.println(s);
//
Collections.sort(s,new Comparator(){
@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
Student stu1=(Student)o1;
Student stu2=(Student)o2;
return stu2.age-stu1.age;
}
});
System.out.println("The order after sorting!");
System.out.println(s);
}
}