zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    华为:证实已开发出自主操作系统
    Aseprite入门:第一个gif动图
    《亿级用户下的新浪微博平台架构》阅读笔记
    Aseprite入门教程
    “华为起诉美国”事件进展:美国联邦法院给美国政府发传票
    CoCos2dx开发:中文乱码
    谈谈对“华为向美国联邦法院起诉美国”的看法
    《支付宝和蚂蚁花呗的技术架构及实践》阅读笔记
    Cocos2d-x环境配置步骤
    《菜鸟弹性调度系统的架构设计》阅读笔记
  • 原文地址:https://www.cnblogs.com/lijiehua/p/8158356.html
Copyright © 2011-2022 走看看