返回列表 發帖
  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<Ch01.Student>();
  6.         Ch01()
  7.         {
  8.                 stu.add(new Student(4, "大雄", 60));
  9.                 stu.add(new Student(1, "小叮噹", 90));
  10.                 stu.add(new Student(3, "宜靜", 100));
  11.                 stu.add(new Student(2, "阿福", 70));
  12.                 stu.add(new Student(5, "技安", 20));
  13.                 System.out.println("原始資料:");
  14.                 show();
  15.                 Collections.sort(stu,new com());
  16.                 System.out.println("依座號遞增排序:");
  17.                 show();
  18.                 Collections.sort(stu, new com2());
  19.                 System.out.println("依分數遞減排序:");
  20.                 show();      
  21.         }
  22.         class Student
  23.         {
  24.                 int num,sc;
  25.                 String name;
  26.                 Student(int nu,String na,int s)
  27.                 {
  28.                         num=nu;
  29.                         name=na;
  30.                         sc=s;
  31.                 }
  32.         }
  33.         class com implements Comparator<Student>
  34.         {

  35.                 @Override
  36.                 public int compare(Student o1, Student o2) {
  37.                         return o1.num-o2.num;
  38.                 }

  39.         }
  40.         class com2 implements Comparator<Student>
  41.         {

  42.                 @Override
  43.                 public int compare(Student o1, Student o2) {
  44.                         return o2.sc-o1.sc;
  45.                 }       
  46.         }
  47.         void show()
  48.         {
  49.                 System.out.println("座號\t姓名\t分數");
  50.                 System.out.println("-------------------");
  51.                 for(int i=0; i<stu.size(); i++)
  52.                         System.out.println(stu.get(i).num+"\t"+stu.get(i).name+"\t"+stu.get(i).sc);
  53.                 System.out.println();                                                                                                                                                              
  54.         }
  55.         public static void main(String[] args) {
  56.                 new Ch01();
  57.         }
  58. }
複製代碼

TOP

返回列表