java - 移动二维数组中的特定列

标签 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));
}

array[i].length 的功能是什么?

最佳答案

具体到你的问题, array[i].length 是“维度 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 来完成此操作。

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

关于java - 移动二维数组中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002971/

相关文章:

javascript - 从数组中随机选择但在 for 循环内无法按预期工作

java - 无法解密 MD5 哈希字节数组

php - 仅用逗号分隔的字符串、树形多维 php 数组

java - 如何在 jlabel 中的两个动态文本之间保持恒定的间隙?(参见图片)

java - 理解内部类(为什么存在内部类)

java - 使用 @ControllerAdvice 进行 Spring 异常处理提供了集中控制,但我们必须在方法签名中添加所有抛出异常

javascript - 如何从对象数组中获取键和每个键的计数

c# - LibTiff.Net 将 Tiff 对象转换为字节数组并返回

java - 如何在 JEditorPane 中插入 iframe(YouTube 视频)?

java - 更快地查看代码结果的方法