日期:2014-05-20 浏览次数:21051 次
//= =
public static void main(String[] args) {
int array[][] = new int[][]{
{12, 34, 68, 32, 9, 12, 545},
{34, 72, 82, 57, 56, 0, 213},
{12, 34, 68, 32, 21, 945, 23},
{91, 10, 3, 2354, 73, 34, 18},
{12, 83, 189, 26, 27, 98, 33},
{47, 23, 889, 24, 899, 23, 657},
{12, 34, 68, 343, 878, 235, 768},
{12, 34, 98, 56, 78, 12, 546},
{26, 78, 2365, 78, 34, 256, 873}
};
sortIntArrays(array, 6, true);
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[0].length; j++) {
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
public static void sortIntArrays(int[][] array, final int sortCols, final boolean sortord) {
java.util.Arrays.sort(array,new java.util.Comparator() {
@Override
public int compare(Object o1, Object o2) {
//长度没sortCols长的排前面
if(o1==null&&o2==null)
return 0;
if(o1==null&&o2!=null)
return sortord?1:-1;
if(o1!=null&&o2==null)
return sortord?-1:1;
int[]st1=(int[]) o1;
int[]st2=(int[]) o2;
if(st1.length<sortCols&&st2.length<sortCols)
return 0;
if(st1.length<sortCols&&st2.length>=sortCols)
return sortord?1:-1;
if(st1.length>=sortCols&&st2.length<sortCols)
return sortord?-1:1;
//如果二个长度都足够
return sortord?st1[sortCols]-st2[sortCols]:st2[sortCols]-st1[sortCols];
}
});
}