我在编程时遇到一个问题:
我的 class A 中有以下属性:产品名称 产品编号 产品销售量
现在我有 10个 class A的 对象 b[10];
现在我要对每个对象的销售量进行排序.(这个我会)
排好序以后要求按从小到大打印出来(打印三个属性),问题是.怎么样可以让排序后销售量和原来的对应产品名称,编号一起打印出来呢?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【tommake】截止到2008-06-25 19:58:23的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:20                 
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:20                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    比如我用 Arrays.sort(b.sell_number)排序后
    对象中的其他属性也会自动排序?
      

  3.   

    实现comparable接口..并重写compareto方法
      

  4.   

    可以使用
    Arrays.sort(b,comparator);comparator是一个实现了Comparator接口的类的实例这个类大概是这样的:class MyComparator implements Comparator<A> { public int compare(A a1, A a2) {
    return a1.sell_number - a2.sell_number;
    }
    }MyComparator comparator=new MyComparator ();
    Arrays.sort(b,comparator);
      

  5.   

    用一个简单的方法
    建立三个数组分别对应上面的关系
    对销售量进行排序 同时记录数组id
    到时候对应数组id取值就可以了
      

  6.   

    Arrays.sort(b,comparator);MyComparator implements Comparator这个是排序时候的比较器。决定了排序中每次比较的比较大小的方法。7楼正解
      

  7.   

    楼上的那个方法在API中找不到....
    倒是有个这样的:
    public static void sort(Object[] a)根据元素的自然顺序对指定对象数组按升序进行排序。数组中的所有元素都必须实现 Comparable 接口。此外,数组中的所有元素都必须是可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,e1.compareTo(e2) 不得抛出 ClassCastException)。
    保证此排序是稳定的:不会因调用 sort 方法而对相等的元素进行重新排序。该排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n*log(n) 性能。 
    参数:
    a - 要排序的数组 
    抛出: 
    ClassCastException - 如果数组包含不可相互比较的 的元素(例如,字符串和整数)。
      

  8.   

    这个
    http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/Arrays.html#sort(T[],%20java.util.Comparator)
      

  9.   

    java.util.Arrays
    java.util.Comparator<T>
    没有吗??
      

  10.   

    http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/Arrays.html#sort(T[],%20java.util.Comparator)