动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

多维数组解析

05-18 15:40 711浏览
举报 T字号
  • 大字
  • 中字
  • 小字

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识,数组中包括一维数组、二维数组以及今天我们讲到的多维数组,多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。

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数组的使用。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵316
程序员代码小兵316

16篇文章贡献58453字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消