- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- public class Ch02 {
- public static void main(String[] args) {
- new Ch02();
- }
- ArrayList<Student> stu=new ArrayList<Student>();
- Ch02()
- {
- stu.add(new Student(4,"大雄",60));
- stu.add(new Student(1,"小叮噹",90));
- stu.add(new Student(3,"宜靜",100));
- stu.add(new Student(2,"阿福",70));
- stu.add(new Student(5,"技安",20));
- System.out.println("原始資料:");
- show();
- System.out.println("依座號遞增排序:");
- Collections.sort(stu,new MyComperator1());
- show();
- System.out.println("依分數遞減排序:");
- Collections.sort(stu,new MyComperator2());
- show();
- }
- class MyComperator1 implements Comparator<Student>{
- @Override
- public int compare(Student o1,Student o2)
- {
- return o1.num-o2.num;
- }
- }
- class MyComperator2 implements Comparator<Student>{
- @Override
- public int compare(Student o1,Student o2)
- {
- return o2.score-o1.score;
- }
- }
- void show()
- {
- System.out.println("座號\t姓名\t分數");
- System.out.println("-------------");
- for(int i=0;i<5;i++)
- System.out.println(stu.get(i).num+"\t"+stu.get(i).name+"\t"+stu.get(i).score);
- System.out.println();
- }
- class Student
- {
- int num,score;
- String name;
- Student(int n,String m,int s)
- {
- num=n;
- name=m;
- score=s;
- }
- }
- }
複製代碼 |