首页 > 解决方案 > 有没有办法在java中的多维数组中反转特定数组?

问题描述

我知道如何通常操作和创建多维数组,但我不知道数组具有的所有实用程序和功能。我想知道如果我有一个大小为 的二维数组[5][4],我可以在第一行按顺序打印它,第二行是相反的,第三行是按顺序打印的……等等。

例如:

[1 2 3 4] //in order
[8 7 6 5] //reverse
[9 10 11 12] //in order
[16 15 14 13] //reverse
[17 18 19 20] //in order

正如我的老师所说“定义一个大小为 m × n 的二维数组。编写一个方法来初始化这个数组,其中的数字从 1 到 m × n,方法如下:第一行,从左到右初始化元素;第二行,从右到左初始化;然后切换顺序。例如,如果m=5;并且n=4;数组应该初始化为:"

我不确定是否应该使用临时方法或其他循环方法来完成。

标签: javaarrayssortingmultidimensional-array

解决方案


你不能直接反转它。但是您可以有一个循环并反转替代行:

void reverseArray() {
    Integer[][] arr = {
            {1, 2, 3, 4},
            {5, 6, 7, 8},
            {9, 10, 11, 12},
            {13, 14, 15, 16},
            {17, 18, 19, 20}};
    for (int i = 1; i < arr.length; i += 2) {
        Collections.reverse(Arrays.asList(arr[i]));
    }
}

推荐阅读