多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识,数组中包括一维数组、二维数组以及今天我们讲到的多维数组,多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。
Java 可以支持二维数组、三维数组、四维数组、五维数组。。。
但是,以正常人的理解能力,一般也就最多能理解三维数组。所以,请不要做反人类的事,去定义过多维度的数组。
public class MultiArrayDemo {
public static void main(String[] args) {
Integer[][] a1 = { // 自动装箱
{1, 2, 3,},
{4, 5, 6,},
};
Double[][][] a2 = { // 自动装箱
{ {1.1, 2.2}, {3.3, 4.4} },
{ {5.5, 6.6}, {7.7, 8.8} },
{ {9.9, 1.2}, {2.3, 3.4} },
};
String[][] a3 = {
{"The", "Quick", "Sly", "Fox"},
{"Jumped", "Over"},
{"The", "Lazy", "Brown", "Dog", "and", "friend"},
};
System.out.println("a1: " + Arrays.deepToString(a1));
System.out.println("a2: " + Arrays.deepToString(a2));
System.out.println("a3: " + Arrays.deepToString(a3));
}
}
// Output:
// a1: [[1, 2, 3], [4, 5, 6]]
// a2: [[[1.1, 2.2], [3.3, 4.4]], [[5.5, 6.6], [7.7, 8.8]], [[9.9, 1.2], [2.3, 3.4]]]
// a3: [[The, Quick, Sly, Fox], [Jumped, Over], [The, Lazy, Brown, Dog, and, friend]]
//第一种
int[][] array1 = {{1},{1,2},{1,2,3}};
//第二种
int[][] array2 = new int[2][];
array2[0] = new int[] {1,2};
array2[1] = new int[] {1,2,3};
array2[1][1] = 2;
array2[2][2] = 4;
本质:把b数组对应的虚地址传给了a数组,所以如果b数组发生改变,a也会相应改变。
int[] a = {1,10,100,1000,10000};
int[] b = {2,20,200,2000,20000,200000};
b=a;
a[1] = 999;
for(int i : b) {
System.out.println(i);
}
结果:
1
999
100
1000
10000
多维数组相对于一维数组和二维数组来说,比较复杂一些,只有我们能够彻底学好多维数组的使用,那么一维数组和二维数组也就水到渠成了。我们可以在动力节点在线网站的免费视频课程中学习更多的多维数组的使用方法,举一反三,彻底掌握Java数组的使用。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54