多维数组
数组 是 Java 中的容器对象,它包含固定数量的 单一类型 的值。 数组 的长度是在创建 数组 时确定的。创建后,它的长度是固定的。例如,下面定义了一个大小为 10 的数组:
public class ArrayDemo {
private int arraySize=10;
public int[] arrayOfIntegers = new int[arraySize];
}
上面的代码是一个一维数组的例子。换句话说,数组只在一个方向上增长。很多时候我们需要在多个维度上增长的数组。这样的数组称为多维数组。为简单起见,让我们谈谈二维数组。当我们需要矩阵或 xy 图/图形时,二维数组非常有用。下面是一个方形二维数组的示例。
public class ArrayDemo {
private int arraySize=10;
public int[] arrayOfIntegers = new int[arraySize];
}
想象一下,二维数组看起来像 x 和 y 坐标的矩阵。
然而,对于 Java 开发人员来说,这有点令人惊讶。 Java 实际上 没有 2 个数组。
在真正的数组中,数组的所有元素都占据一个连续的内存块,但在 Java 中的二维数组中并非如此。 java中的一维数组中的所有元素都占据相邻的内存位置,因此它确实是一个真正的数组。
在 Java 中,当我们定义:
public class ArrayDemo {
private int arraySize=10;
public int[] arrayOfIntegers = new int[arraySize];
}
这意味着在上面的示例中,twoDArray 是对数组的引用,其每个元素都是对另一个 int 元素数组的引用。
这张图片 很好地解释了这个概念。
由于二维数组分散在内存中,因此对性能有一定影响。为了分析这些差异,我编写了一个简单的 Java 程序来描述 遍历顺序的重要性 。
public class ArrayDemo {
private int arraySize=10;
public int[] arrayOfIntegers = new int[arraySize];
}
以下是示例输出:
上面的例子是可重复的,它始终给出相似的输出,但时间差异可能会有所不同。