社区
Java SE
帖子详情
Java中的二维数组是怎么分配内存的?
人工智能-张晨光
优质创作者: 前端开发技术领域
领域专家: 后端开发技术领域
2008-03-03 07:45:36
rt
...全文
528
5
打赏
收藏
Java中的二维数组是怎么分配内存的?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yexinwinner
2008-06-23
打赏
举报
回复
java 中没有一维数组,但可以用一维数组实现二维或者是多维数组。
一维数组在内存中是利用一段连续的空间存放,都是相对于起始位置的偏移量。
如果起始位置 为0 数据类型为 int 那么第一个单元就要占用连续的4个字节 那个第二个元素就从5开始存储
有如下公式 x内存中的起始位置 L 数据类型的长度(字节) i 为数组下标 有如下关系 x+(i*L) = 内存中的位置
一般二维数组在内存的存储形式都转化为一维数组的存储形式,分别有二种方式, 一种是以行优先存储,另一种是以
行优先存储。 那么如何确定二维数组任意下标元素在内存中的位置呢,例如有一个 int 型的二维数组
以行优先存储的位置可依如下公式计算 x + [(i*R)+j]*L
以列优先存储的位置可依如下公式计算 x + [(j*C)+c]*L
注: x为内存起始位置, i j 为数组下标如 list[i,j] R 为一行当中元素的个数 C为一列当中元素的个数
注:以行优先存储 是把二维数组按行一行接着一行的形式取出连续存入一块连续的内存空间的形式。
以列优先存储 是把二维数组按列一列接着一列的形式取出连续存入一块连续的内存空间的形式。
火龙果被占用了
2008-03-04
打赏
举报
回复
嗯,这个在《Java核心技术》中提到过。
qijinxiong
2008-03-04
打赏
举报
回复
ddd
hmsuccess
2008-03-03
打赏
举报
回复
其实java中没有多维数组,只有一维数组,多维数组被解释为数组的数组
wenzheng38
2008-03-03
打赏
举报
回复
二维数组可以看成是一个关于一维的一维数组 a[][]={a[],a[],a[].......};a[]={a[][],a[][],......};
一维数组的内存地址分配是连续分配的,由此可以推出二维数组的内存地址分配情况
Java
二维数组
是什么?怎么用?
二维数组
的结构决定了其能非常方便地表示计算机
中
的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下
二维数组
,包括数组的声明和初始化。 创建
二维数组
在
Java
中
二维数组
被看作...
java
二维数组
内存分配_
java
中
二维数组
内存分配
m:表示这个
二维数组
有多少个一维数组。n:表示每一个一维数组的元素有多少个。//例:int arr[][]=new int[3][2];如下图 格式二:数据类型[][] 数组名 = new 数据类型[m][];m:表示这个
二维数组
有多少个一维数组。列数...
6.
java
之
二维数组
2.
二维数组
:在内存开辟一段连续的空间用来存值,每个空间存的是一个一维数组. 3.n维数组:在内存开辟一段连续的空间用来存值,每个空间存的是一个n-1维数组. 4.
二维数组
特征: 4.1:
二维数组
是引用数据类型. 4.2:
二维数组
...
java
之
二维数组
二维数组
和一维数组一样,声明时没有分配空间,必须利用关键字分配空间。先给第一行分配一个一维数组,然后给下面每一列每一行数据赋值。
二维数组
可以只分配行的长度,不分配列的长度。分配空间有两种方式。
java
定义...
Java
二维数组
二维数组
实际上是一个以一维数组做为元素的一维数组
二维数组
:即数组的嵌套,数组里面的元素又是一个数组 1) 声明
二维数组
: 数据类型[][] 数组名; 或者 数据类型 数组名[][]; //声明一个int...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章