Java 在二维数组中移动特定列
我可以得到移动2D数组中特定列的一般概念吗?我通过一个双for循环填充了数组,但是我一直在思考如何实现这一点。我不一定需要代码。我只是需要一种思考的方式来接近 我还有一个问题。array.length打印阵列的长度,但我在互联网上看到,人们使用: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
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