假设有a0,a1,a2,...an个对象,若他们有a0.data,a1.data,a2.data.....an.data那么请问一下:
如果我要将a0,a1,....an按照data大小排序。大家来讨论下
给我提供些建议。

解决方案 »

  1.   

       public static int[] selectionSortByData(int[] list){
      for(int i = list.length - 1; i > 0; i --){
     int currentMaxData = list[0].data, 
     currentMax = list[0], currentMaxIndex = 0;
     for(int j = 1; j <= i; j++){
    if(currentMaxData < list[j].data){
       currentMax = list[j];
       currentMaxIndex = j;
    }
     }
     if(currentMaxIndex != i){
    list[currentMaxIndex] = list[i];
    list[i] = currentMax;
     }
      }
      return list;
       }这个应该很简单吧,我给出的是选择排序。。
      

  2.   

    再写一个类,继承Comparable接口,然后在这个类中重写compareTo方法;
    好了,可以进行:Arrays.sort()了,参数就是a0,a1,a2,...an这些对象类型的数组
      

  3.   

    不好意思,刚说错了一点:不是“再写一个类,继承Comparable接口”,而是直接用那些对象所属的类去继承
      

  4.   

    是“实现”Comparable接口,晕,看成抽象类了.....
      

  5.   

    可以使用MAP,其中对象名作为KEY值,data值作为VALUE值。
    然后就可以对VALUE的值进行排序了。