当前位置:首页 » 编程语言 » java变长数组

java变长数组

发布时间: 2023-08-09 18:49:16

‘壹’ java中如何动态改变数组长度 动态数组 array

java中的数组一旦被定义长度是不允许修改长度的,如果题主希望实现类似的功能可以采用ArrayList。ArrayList的底层结构就是数组。当ArrayList实例化时会默认设置一个长度,当长度不够用时会自动扩展现有长度的1/2.(假设初始数组长度为10,现在变成了15)


System.array(Object src,int srcPos,Object dest,int destPos,int length )能够实现数组复制的功能。

假设有数组a(src),数组b(dest),我们希望把a数组中从下标为2(srcPos)长度为3(length)的元素复制到b的下标为4(destPos)开始的元素中。java代码示例如下:

inta=[1,3,5,7,9];
intb=[2,4,6,8,0,2,4];
System.array(a,2,b,4,3);

//最终b的内容为[2,4,6,8,5,7,9];

但是如果注意API的话会发现array有几个限制

1、a,b的元素类型必须相同(int和Integer这里也是需要区分的)

2、数组不能越界,也就是srcPos+length不能超过a的长度;desPos+length也不能超过b的长度,否则就会报数组越界的一场。这也说明了无法实现数组长度的动态扩展。

‘贰’ java中数组的长度可以改变吗

java中数组的长度不可以改变。

java中的数组的定义就是相同类型,固定长度的一组数据,一旦被初始化,长度不可更改。如果对需要用的数组的长度不确定,有两种解决办法:

第一种是在数组初始化的时候长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用。
第二种是用java中提供的集合的方式存储数据,如List,Set和Map类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀。

热点内容
你会压缩吗 发布:2025-03-20 09:27:30 浏览:504
java判 发布:2025-03-20 09:27:30 浏览:248
linux55 发布:2025-03-20 09:16:24 浏览:726
sql表的定义 发布:2025-03-20 09:14:25 浏览:954
怎么看宽带连接的密码 发布:2025-03-20 09:14:24 浏览:11
云服务器能为网站提供什么 发布:2025-03-20 09:10:12 浏览:118
安卓手机耗电怎么设置 发布:2025-03-20 09:09:08 浏览:543
阿里云数据库安装 发布:2025-03-20 09:08:30 浏览:329
apn如何传给拨号脚本 发布:2025-03-20 09:03:01 浏览:940
python3flask 发布:2025-03-20 08:58:08 浏览:980