小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java中Comparable接口的使用

 Mis林桑 2017-03-10

Java中Comparable接口的使用

2014年07月11日 18:50:09

      分類: JavaEE

      public interface Comparable

      當需要對一個對象進行排序時,該對象應該實現(xiàn)Comparable接口,并實現(xiàn)其唯一的方法:

int compareTo(T o)在該方法中定義自己的排序規(guī)則,當調(diào)用Arrays.sort(Object[] a)方法時則回調(diào)compareTo()方法,并按照自己的規(guī)則對對象數(shù)組進行排序。返回值及比較規(guī)則:1、返回負值---->小于2、返回零------>等于3、返回正值---->大于例子:定義實現(xiàn)Comparable接口的類

      [java]view plaincopy

  1.       //定義一個類,并實現(xiàn)comparable接口  
  2.       class Worker implements Comparable{  
  3.       private String name;  
  4.       private int age;  
  5.       private int salary;  
  6.       
  7.       public Worker(String name, int age, int salary) {  
  8.       super();  
  9.       this.name = name;  
  10.       this.age = age;  
  11.       this.salary = salary;  
  12.       }     
  13.       
  14.       public String getName() {  
  15.       return name;  
  16.       }  
  17.       
  18.       public int getAge() {  
  19.       return age;  
  20.       }  
  21.       
  22.       public int getSalary() {  
  23.       return salary;  
  24.       }  
  25.       
  26.       /** 
  27.       *實現(xiàn)Comparable接口的compareTo方法,在此方法中定義自己的比較規(guī)則 
  28.       * 首先按工資有由低到高排序,過工資相同則按年齡由高到底排序 
  29.       */  
  30.       @Override  
  31.       public int compareTo(Worker other) {  
  32.       // TODO Auto-generated method stub  
  33.       if(this.salary < other.getSalary()){     //工資小于其他人時返回負值  
  34.       return -1;  
  35.       }else if(this.salary > other.getSalary()){   //工資大于其他人時返回正值  
  36.       return 1;  
  37.       }else{                                      //工資等于其他人時按照年齡再排序  
  38.       if(this.age < other.getAge()){  
  39.       return 1;//表示由高到低排序  
  40.       }else if(this.age >= other.getAge()){  
  41.       return -1;  
  42.       }  
  43.       }  
  44.       return 0;         
  45.       }  
  46.       
  47.       @Override  
  48.       public String toString() {  
  49.       // TODO Auto-generated method stub  
  50.       return this.name +'\t' + this.age + '\t' + this.salary;  
  51.       }  
  52.       
  53.       };  
測試程序:

      [java]view plaincopy

  1.       public class ComparableDemo {  
  2.       
  3.       /** 
  4.       * @param args 
  5.       */  
  6.       public static void main(String[] args) {  
  7.       // TODO Auto-generated method stub  
  8.       
  9.       Worker [] workers = new Worker[5];  
  10.       workers[0] = new Worker('test1',25,2000);  
  11.       workers[1] = new Worker('test2',24,2100);  
  12.       workers[2] = new Worker('test3',26,2100);  
  13.       workers[3] = new Worker('test4',27,2200);  
  14.       workers[4] = new Worker('test5',28,1900);  
  15.       
  16.       //調(diào)用Arrays.sort()方法進行排序  
  17.       Arrays.sort(workers);  
  18.       for(Worker w : workers){  
  19.       System.out.println(w);  
  20.       }  
  21.       
  22.       }  
  23.       
XXX
1/10
XXX

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多