Java 中對類進行排序的方法(轉)


JAVA中的比較器接口Comparable用於數組對象的排序,要使用此功能,必須讓類繼承自Comparable接口,重寫compareTo(Object obj)方法。

import java.util.*;

class Person implements Comparable{
private String name;
private int age;
private float score;
public Person(String name,int age,float score){
   this.name=name;
   this.age=age;
   this.score=score;
   }
   public String toString(){
    return "姓名:"+this.name+", 年齡:"+this.age+", 成績:"+this.score;
    }
    public int compareTo(Object obj){
     Person p = (Person)obj;
     if(p.score>this.score){
      return 1;
      }
      else if(p.score<this.score){
       return -1;
       }
       else{
        if(p.age>this.age){
         return 1;
         }
         else if(p.age<this.age){
         return -1;
        }
         else{
          return 0;
          }
        }
     }
}
public class OODemo35{
   public static void main(String []args){
    Person p[] = new Person[5];
    p[0] = new Person("張三 ",23,96);
    p[1] = new Person("張三2",24,96);
    p[2] = new Person("張三3",21,94);
    p[3] = new Person("張三4",22,98);
    p[4] = new Person("張三5",20,89);
   
    Arrays.sort(p);
    for(int x=0;x<p.length;x++){
     System.out.println(p[x]);
     }   
    }
   }

輸出結果:

姓名:張三4, 年齡:22, 成績:98.0
姓名:張三2, 年齡:24, 成績:96.0
姓名:張三 , 年齡:23, 成績:96.0
姓名:張三3, 年齡:21, 成績:94.0
姓名:張三5, 年齡:20, 成績:89.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM