当前位置:首页 » 编程语言 » 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类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀。

热点内容
sql网校 发布:2025-03-20 06:16:42 浏览:278
安卓手机图标排列为什么会混乱 发布:2025-03-20 06:16:05 浏览:760
手机pin初始密码是多少 发布:2025-03-20 06:15:59 浏览:897
javaif常量变量 发布:2025-03-20 06:15:57 浏览:343
iis安装sql 发布:2025-03-20 06:05:31 浏览:148
制作自解压安装 发布:2025-03-20 05:41:49 浏览:304
华为连接电视密码是多少 发布:2025-03-20 05:31:11 浏览:493
算法第五版 发布:2025-03-20 05:17:57 浏览:730
湖南台访问 发布:2025-03-20 05:10:32 浏览:38
脚本和秒抢 发布:2025-03-20 05:06:29 浏览:592