Java 二维数组根据维度升序或降序排序

       /*二维数组排序(按第row列排序),sort为true从高到低排序反之从低到高排序*/
	public static String[][] arraySort( String array[][], int len,int row, boolean sort)
	{
	    if( array!=null && len > 0 ) // 假如传入的输入不为 NULL 值
	    {
	      // int len = array.length;        // 得到排序数组的长度(已直接给出给出)
	        int width = array[0].length;    // 得到数组的列数
	        boolean exchange = true;            // 交换记录
	        String temp[] = new String[width];    // 用于存放临时值
	        if( width < row ) {
	            System.out.println( "错误信息:排序列数大于数组列数" );
	            return null;
	        }
	        for( int i=0; i=i; j--)
	            {
	                if( array[j][row]    == null ) array[j][row] = "";
	                if( array[j+1][row]    == null ) array[j+1][row] = "";
	                if( sort )    // 从高到底
	                {
	                    //if( array[j][row].compareTo(array[j+1][row]) < 0 )
	                    if( Integer.valueOf(array[j][row]) < Integer.valueOf(array[j+1][row]) )
	                    {
	                        for(int t=0; t 0 )
	                	if( Integer.valueOf(array[j][row]) > Integer.valueOf(array[j+1][row]) )
	                    {
	                        for(int t=0; t /*按第row_1、row_2列从低到高排序*/
    public String[][] arraySort( String s[][], int row_1, int row_2 )
    {
        String array[][] = arraySort( s, row_1, false ); // 对第一个条件进行排序
        if( array== null ) {
            System.out.println( "错误信息:二维数组排序出错" );
            return null;
        }
        int begin = 0;
        int Col = 0;
        for( int i=0; i 1 ) {
                String swpData[][] = new String[Col][s[0].length];
                for( int m=i; m

你可能感兴趣的:(Java)