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

  4. public class s {
  5.        
  6.         ArrayList<Student> stu=new ArrayList<Student>();
  7.        
  8.         s()
  9.         {
  10.                 stu.add(new Student(4,"大雄",60));
  11.                 stu.add(new Student(1,"A夢",90));
  12.                 stu.add(new Student(3,"靜香",100));
  13.                 stu.add(new Student(2,"阿福",70));
  14.                 stu.add(new Student(5,"技安",20));
  15.                
  16.                 System.out.print("原始資料");
  17.                 show();
  18.                
  19.                 Collections.sort(stu, new MyC1());
  20.                 System.out.println("依座號排序:");
  21.                 show();
  22.                
  23.                 Collections.sort(stu, new MyC2());
  24.                 System.out.println("依分數排序:");
  25.                 show();
  26.         }
  27.        
  28.         void show()
  29.         {
  30.                 System.out.println("班級\t姓名\t座號");
  31.                 System.out.println("--------------------------");
  32.                 for(int i=0;i<stu.size();i++)
  33.                         System.out.println("\t"+stu.get(i).num+"\t"+stu.get(i).name+"\t"+stu.get(i).score);
  34.                 System.out.println();
  35.         }
  36.         class MyC1 implements Comparator<Student>
  37.         {
  38.                 public int  compare(Student o1,Student o2) {
  39.                         return o1.num-o2.num;
  40.                 }
  41.                     
  42.         }
  43.        
  44.         class MyC2 implements Comparator<Student>
  45.         {
  46.                 public int  compare(Student o1, Student o2) {
  47.                         return o2.score-o1.score;
  48.                 }
  49.                
  50.         }
  51.         class Student
  52.         {
  53.                 int num,score;
  54.                 String name;
  55.                
  56.                 Student(int n, String m,int s)
  57.                 {
  58.                         num=n;
  59.                         name=m;
  60.                         score=s;
  61.                 }
  62.         }

  63.         public static void main(String[] args) {
  64.                 // TODO 自動產生的方法 Stub
  65.                 new s();
  66.         }

  67. }
複製代碼

TOP

返回列表