java中二维数组的排序

Posted 方成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中二维数组的排序相关的知识,希望对你有一定的参考价值。

  首先定义一个5X8的二维数组,然后使用随机数填充满。
借助Arrays的方法对二维数组进行排序。
参考思路:
先把二维数组使用System.arraycopy进行数组复制到一个一维数组
然后使用sort进行排序
最后再复制回到二维数组。

关于随机数
0-100的 随机整数的获取办法有多种,下面是参考办法之一:

 
import java.util.Arrays;
 
public class TwoDimenSort {
    public static void main(String[] args) {
        int xLen = 5;
        int yLen = 8;
        int[][] a = new int[xLen][yLen];
        //使用随机数填充二维数组
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                a[i][j] = (int)(Math.random() * 100);
            }
        }
        //复制二维数组到一维数组
        int[] b = new int[xLen * yLen];
        int k = 0;
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                b[k++] = a[i][j];
            }
        }
        System.out.println("排序前:");
        for(int i=0;i<xLen;i++) {
            System.out.println(Arrays.toString(a[i]));
        }
        //调用Arrays中的sort方法
        Arrays.sort(b);
        //将排序后的值复制回二维数组
        k = 0;
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                a[i][j] = b[k++];
            }
        }
        System.out.println("排序后:");
        for(int i=0;i<xLen;i++) {
            System.out.println(Arrays.toString(a[i]));
        }
    }
 
}

    

 

以上是关于java中二维数组的排序的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么对二维数组的列排序?

java中二维数组的排序

java数组自定义排序(二维数组)

java数组自定义排序(二维数组)

java二维数组 按某列排序

Java 剑指offer 二维数组中的查找