首先定义一个5X8的二维数组,然后使用随机数填充满。借助Arrays的方法对二维数组进行排序。

package day02;

import java.util.Arrays;
import java.util.Random;

public class Test01 {
		public static void main(String[] args) {
			int[][]arr = new int[8][5];
			Random r = new Random();
			for (int m = 1; m < 100; m++) {
				for (int i = 0; i < 8; i++) {
					for (int j = 0; j < 5; j++) {
						arr[i][j]=r.nextInt(m);
					}
				}
			}
			//打印二维数组arr
			printArrayA(arr);
			
			int[]copy = new int[40];
			
			//把二维数组转到一维数组copy中
			for(int i=0;i<8;i++){
				System.arraycopy(arr[i], 0, copy, i*5, 5);				
			}
			printArrayB(copy);
			
			//给一维数组copy排序
			Arrays.sort(copy);
			
			//打印排序后的copy
			printArrayB(copy);
			
			//把一维数组copy转到二维数组arr中
			for (int i = 0; i < 8; i++) {
				for (int j = 0; j < 5; j++) {
					System.arraycopy(copy, i*5, arr[i], 0, 5);
				}
			}
			
			//打印排序后的arr数组
			printArrayA(arr);
		} 
		
		//打印arr数组
		public static void printArrayA(int [][]arr){
			for (int i = 0; i < 8; i++) {
				for (int j = 0; j < 5; j++) {
					System.out.print(arr[i][j]+"	");
				}
				System.out.println();
			}
		}
		
		//打印copy数组
		public static void printArrayB(int []copy){
			for (int i = 0; i < copy.length; i++) {
				System.out.print(copy[i]+" ");
			}
			System.out.println();
		}
}

  

原文地址:https://www.cnblogs.com/TaoLeonis/p/6621644.html