• 2017/12/31Java基础学习——二维数组排序の数组工具类Arrays的方法综合运用


    代码如下:

     1 import java.util.Arrays;
     2 public class HelloWorld {
     3     public static void main(String[] args) {
     4 //        首先定义一个5X8的二维数组,然后使用随机数填充满。
     5 //        借助Arrays的方法对二维数组进行排序。
     6         
     7         //Method 1
     8 //        int[][] a = new int[5][8];
     9 //        int[] b = new int[a.length * a[0].length];
    10 //        int k = 0;
    11 //        System.out.println("打印排序前的二维数组 = ");
    12 //        for (int i = 0; i < a.length; i++) {
    13 //            for (int j = 0; j < a[i].length; j++) {
    14 //                a[i][j] = (int)(Math.random() * 100);
    15 //                b[k++] = a[i][j];//将二维数组值赋给一维数组b
    16 //            }
    17 //            System.out.println(Arrays.toString(a[i]));
    18 //        }
    19 //        
    20 //        System.out.println("排完顺序后的二维数组 = ");
    21 //        Arrays.sort(b);//排序一维数组b
    22 //        k = 0;
    23 //        for (int i = 0; i < a.length; i++) {
    24 //            for (int j = 0; j < a[i].length; j++) {
    25 //                a[i][j] = b[k++];//将数组b值传给数组a
    26 //            }
    27 //            System.out.println(Arrays.toString(a[i]));
    28 //        }
    29 //        
    30         //Method 2
    31         int[][] a = new int[5][8];
    32         
    33         for (int i = 0; i < a.length; i++) {//给数组a赋值
    34             for (int j = 0; j < a[i].length; j++) {
    35                 a[i][j] = (int)(Math.random() * 100);
    36             }
    37         }
    38         
    39         System.out.println("打印排序前的二维数组 = ");
    40         for (int[] each : a) {//输出数组a
    41             System.out.println(Arrays.toString(each));
    42         }//规律总结:『:』前的为一维数组变量,引号后的为二维数组名,最后输出的为一维数组名。
    43         
    44         int[] b = new int[a.length * a[0].length];
    45         for (int i = 0; i < a.length; i++) {//将二维数组a复制给一维数组b
    46             System.arraycopy(a[i], 0, b, a[i].length * i, a[i].length);//这里的a[i]等价于一维数组名
    47         }
    48         Arrays.sort(b);//对一维数组b进行排序
    49         
    50         for (int i = 0; i < a.length; i++) {//将一维数组b复制给二维数组a
    51             System.arraycopy(b, a[i].length * i, a[i], 0, a[i].length);
    52         }
    53         
    54         System.out.println("打印排序后的二维数组 = ");
    55         for (int[] each : a) {//输出数组a
    56             System.out.println(Arrays.toString(each));
    57         }
    58 
    59     }
    60 }
  • 相关阅读:
    单据的多个状态字段
    Win7 如何阻止程序联网
    强制关机.bat
    Delphi Class of
    坐标转换 GetCursorPos与转换
    Delphi 的RTTI机制浅探-2
    Delphi 的RTTI机制浅探-1
    Delphi 的RTTI机制-3
    Delphi 的RTTI机制-2
    Delphi 的RTTI机制-1
  • 原文地址:https://www.cnblogs.com/lijiehua/p/8158356.html
Copyright © 2020-2023  润新知