返回列表 發帖
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;

  4. public class Ch02 {
  5.         public static void main(String[] args) {
  6.                 new Ch02();
  7.         }

  8.         ArrayList<Student> stu=new ArrayList<Student>();

  9.         Ch02()
  10.         {
  11.                 stu.add(new Student(4,"大雄",60));
  12.                 stu.add(new Student(1,"小叮噹",90));
  13.                 stu.add(new Student(3,"宜靜",100));
  14.                 stu.add(new Student(2,"阿福",70));
  15.                 stu.add(new Student(5,"技安",20));
  16.                 System.out.println("原始資料:");
  17.                 show();

  18.                 System.out.println("依座號遞增排序:");
  19.                 Collections.sort(stu,new MyComperator1());
  20.                 show();

  21.                 System.out.println("依分數遞減排序:");
  22.                 Collections.sort(stu,new MyComperator2());
  23.                 show();
  24.         }
  25.         class MyComperator1 implements Comparator<Student>{
  26.                 @Override

  27.                 public int compare(Student o1,Student o2)
  28.                 {
  29.                         return o1.num-o2.num;
  30.                 }
  31.         }
  32.         class MyComperator2 implements Comparator<Student>{
  33.                 @Override

  34.                 public int compare(Student o1,Student o2)
  35.                 {
  36.                         return o2.score-o1.score;
  37.                 }
  38.         }

  39.         void show()
  40.         {
  41.                 System.out.println("座號\t姓名\t分數");
  42.                 System.out.println("-------------");
  43.                 for(int i=0;i<5;i++)
  44.                         System.out.println(stu.get(i).num+"\t"+stu.get(i).name+"\t"+stu.get(i).score);
  45.                 System.out.println();
  46.         }

  47.         class Student
  48.         {
  49.                 int num,score;
  50.                 String name;
  51.                 Student(int n,String m,int s)
  52.                 {
  53.                         num=n;
  54.                         name=m;
  55.                         score=s;                       
  56.                 }
  57.         }
  58. }
複製代碼

TOP

返回列表