Java 在二维数组中移动特定列

Java 在二维数组中移动特定列,java,arrays,Java,Arrays,我可以得到移动2D数组中特定列的一般概念吗?我通过一个双for循环填充了数组,但是我一直在思考如何实现这一点。我不一定需要代码。我只是需要一种思考的方式来接近 我还有一个问题。array.length打印阵列的长度,但我在互联网上看到,人们使用: for (int i=0; i<array.length; i++) { for (int j=0; j<array[i].length; j++) array[i][j] =(int)(Math.random()*((9)+1

我可以得到移动2D数组中特定列的一般概念吗?我通过一个双for循环填充了数组,但是我一直在思考如何实现这一点。我不一定需要代码。我只是需要一种思考的方式来接近

我还有一个问题。array.length打印阵列的长度,但我在互联网上看到,人们使用:

for (int i=0; i<array.length; i++)
{
   for (int j=0; j<array[i].length; j++)
   array[i][j] =(int)(Math.random()*((9)+1));
}

for(int i=0;i特别针对您的问题,数组[i]。长度是“维度1”的“维度2”的长度。具体而言,二维数组不是“网格”,而是实际的排序表。如果您考虑数据表,每一行都是单个“条目”(通常是元组或有序集合),如果放入第一个维度,则得到整行,然后第二个维度细化您的选择。这可以垂直进行,但数据通常从左到右读取,因此您引用一行

外环是维度i,然后对于给定的维度i,作为维度j通过它

基本上,int x[i][j]是一个包含i个数组(包含j个整数)的数组

    1    2    3   ...    i
1
2
3
...
j
这里的安排完全基于您选择如何使用它,因为您可以在图中交换i和j而不做任何更改,您只需一致地处理它(行必须始终是行,等等)

根据数据的逻辑排列方式,您的问题有两个答案之一。如果列是dim1,则只需将其完全交换为一维数组。这是因为每个数组本身就是一个容器,因此可以移动整个容器

    1      >>      2    3   ...    i
1          shift
2          shift
3          shift
...        ....
j          shift
如果你试图在第二维度上做这件事……你应该能够通过在每一个“秒”上迭代一次,并在内部将每个数组移动一次来做到这一点

    1    2    3   ...    i
1
VV  sh  sh   sh          sh
2
3
...
j

具体到您的问题,数组[i]。长度是“维度1”的“维度2”的长度。具体来说,二维数组不是“网格”,而是实际的排序表。如果您考虑数据表,每一行都是单个“条目”(通常是元组或有序集合),如果放入第一个维度,则得到整行,然后第二个维度细化您的选择。这可以垂直进行,但数据通常从左到右读取,因此您引用一行

外环是维度i,然后对于给定的维度i,作为维度j通过它

基本上,int x[i][j]是一个包含i个数组(包含j个整数)的数组

    1    2    3   ...    i
1
2
3
...
j
这里的安排完全基于您选择如何使用它,因为您可以在图中交换i和j而不做任何更改,您只需一致地处理它(行必须始终是行,等等)

根据数据的逻辑排列方式,您的问题有两个答案之一。如果列是dim1,则只需将其完全交换为一维数组。这是因为每个数组本身就是一个容器,因此可以移动整个容器

    1      >>      2    3   ...    i
1          shift
2          shift
3          shift
...        ....
j          shift
如果你试图在第二维度上做这件事……你应该能够通过在每一个“秒”上迭代一次,并在内部将每个数组移动一次来做到这一点

    1    2    3   ...    i
1
VV  sh  sh   sh          sh
2
3
...
j