就我们常见的Java数组与其他程序设计语言中提供的数组没有多大区别,但实际上存在着一些细微的差异,而这正是Java的优势所在,Java实际上没有多维数组,只有一维数组。多维数组被称为“数组的数组”。
二位数组在内部的存储结构图如下所示:
正是因为Java数组的特征,所以在Java数组中可以创建一个“不规则”数组,即数组的每一行有不同的长度,例如第一行有一列,第二行有两列,依次类推。数组如下图所示:
创建不规则数组代码如下:
public class Main {
public static void main(String args[]) {
final int MAX = 10;
int [][] arrs = new int[MAX + 1][]; //分配一个具有所含行数的数组
for (int n = 0; n <= MAX; n++) //分配每一行
arrs[n] = new int[n + 1];
//给数组赋值
for (int n = 0; n < arrs.length; n++)
for (int k = 0; k < arrs[n].length; k++){
int lotteryArrs = 1;
arrs[n][k] = lotteryArrs;
}
//遍历数组
for (int[] row : arrs){
for (int arr : row)
System.out.print(arr + " ");
System.out.println();
}
}
}