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

  4. public class Ch01 {

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

  69. }
複製代碼

TOP

返回列表