码迷,mamicode.com
首页 > 编程语言 > 详细

Java千百问_06数据结构(018)_多维数组如何储存在内存中

时间:2016-05-15 11:06:41      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

点击进入_更多_Java千百问

1、多维数组如何储存在内存中

了解一维数组如何储存看这里:java数组如何存储在内存中

从底层来看,数组元素可以存放引用类型,数组也是引用类型的一种。也就是说,在数组元素的内部还可以包含数组(如int[][] numbers = new int[length][]),即二维数组可当作一维数组(数组长度为length)来处理。

了解数组和普通引用对象在内存中的区别看这里:数组和普通对象的引用变量有什么区别

由此我们得出结论: 任何多维数组(维度为n,n>1)都可以当作一维数组,其数组元素为n-1维数组。多维数组在内存中的储存同引用类型数组在内存中的储存。

了解引用类型数组在内存中的储存看这里:引用类型数组在内存中如何储存
以二维数组为例:

public class TestMultiArray {
    public static void main(String[] args) {
        // 1.定义二维数组
        int[][] numbers;
        // 2.分配内存空间
        numbers = new int[2][];
        // 可以把numbers看作一维数组来处理
        for (int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i] + ",");// null,null,null
        }
        System.out.println("");
        // 3.为数组元素指定值
        numbers[0] = new int[2];
        numbers[0][1] = 1;
        numbers[1] = new int[2];
        numbers[1][0] = 11;
        numbers[1][1] = 15;
        for (int i = 0; i < numbers.length; i++) {
            for (int j = 0; j < numbers[i].length; j++) {
                System.out.print(numbers[i][j] + ",");
            }
            System.out.println("");
        }
    }
}

结果如下:
null,null,
0,1,
11,15,

以一个图展示这个数组在内存中的存储:

技术分享

Java千百问_06数据结构(018)_多维数组如何储存在内存中

标签:

原文地址:http://blog.csdn.net/ooppookid/article/details/51415846

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!