如下一个类:
import java.util.ArrayList;
   
class Lt {
   char ch;
   int data;
   public Lt(char c,int d){
  ch=c;
  data=d;
   }
}
public class sort {

  public static void main(String[] args){   
  
ArrayList<Lt> arr=new ArrayList<Lt>();
arr.add(new Lt('a',3));
arr.add(new Lt('c',1));
arr.add(new Lt('b',2));
System.out.println();
  }
}
我想把arr按照data值降序排列,请高手指点

解决方案 »

  1.   

    1. 让Lt实现compatable  (好象写错了)
          然后 Colloctions.sort(arr);
    2.写个新类实现comparator,假说名字是Datacomparator
          然后 Colloctions.sort(arr, new Datacomparator());
    具体怎么写,google下,自己完成了解更深入.
      

  2.   

    自己写一个类,实现Comparator接口就可以了。然后用Collections的sort方法就可以排序了。
      

  3.   


    import java.util.*;
       
    class Lt implements Comparable<Lt> {
           char ch;
           int data;
           public Lt(char c,int d){
              ch=c;
              data=d;
           }
           
           public int compareTo(Lt o) {
             if(this.data > o.data) {
             return 1;
             } else if(this.data == o.data) {
             return 0;
             } else {
             return -1;
             }
           }
           
           public String toString() {
             return ch + "" + data;    
           }
    }
    public class Sort {
        
      public static void main(String[] args){     
            ArrayList<Lt> arr=new ArrayList<Lt>();
            arr.add(new Lt('a',3));
            arr.add(new Lt('c',1));
            arr.add(new Lt('b',2));
            Collections.sort(arr);
            System.out.println(arr);
      }
    }