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

来源:互联网 发布:淘宝贷款在哪里 编辑:程序博客网 时间:2024/06/04 17:40

点击进入_更多_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,

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

这里写图片描述

1 0
原创粉丝点击