当前位置: 代码迷 >> J2SE >> 怎样用Arrays.sort()函数排序一个类对象数组。该如何解决
  详细解决方案

怎样用Arrays.sort()函数排序一个类对象数组。该如何解决

热度:382   发布时间:2016-04-23 20:15:19.0
怎样用Arrays.sort()函数排序一个类对象数组。
数组里面有一个私有数据成员,用它来排序数组。是不是要重载sort()函数???怎样在Arrays类外面重载sort()函数??
------解决思路----------------------
方法一:让对象类实现comparable接口,覆写compareTo函数,里面用你说的私有数据来比较大小
方法二:调用 Arrays的另外一个方法public static <T> void sort(T[] a, Comparator<? super T> c)。后面那个参数需要你新建一个Comparator对象
		Comparator comparator=new Comparator<T>() {
@Override
public int compare(T o1, T o2) {
// TODO Auto-generated method stub
return 0;
}
};

------解决思路----------------------
参考楼上的,补充一下,排序的时候,要定好按对象的哪个字段排序,是升序还是降序,都在public int compare(T o1, T o2) {
        // TODO Auto-generated method stub
        if(o1 == null 
------解决思路----------------------
 o2==null){
                 return o;
}   
      if(o1.getX()> o2.getX()){
            return 1;
}else{
   ......
}
return 0;
    }
------解决思路----------------------
这里有例子
  相关解决方案