如何给数组添加元素

如何给数组添加元素,第1张

数组添加一个元素怎么添加,这儿总结有三种方法:

1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。

但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素

2、思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。

但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

那应该怎么做呢,在定义list的时候就直接对array进行转化

第三个方法思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。

可以通过循环遍历数组中的每个元素,并进行累加。

累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。

参数为整型数组a,长度为l,对其元素实现累加并返回结果的函数可以写作

int sum(int *a, int l)

{

int r = 0// 存储累加结果。

int i

for(i = 0i <li ++)//遍历a

r += a[i]//累加元素。

return r//返回结果。

}

两者之间的区别:

一,空间大小:

1,)它的空间大小是固定的,空间不够时也不能再次申请,所以需要事前确定合适的空间大小。

2,)ArrayList的空间是动态增长的,如果空间不够,它会创建一个空间比原空间大一倍的新数组,然后将所有元素复制到新数组中,接着抛弃旧数组。而且,每次添加新的元素的时候都会检查内部数组的空间是否足够。

二,存储内容

1,)Array数组可以包含基本类型和对象类型,

2,)ArrayList却只能包含对象类型。 但是需要注意的是:Array数组在存放的时候一定是同种类型的元素。ArrayList就不一定了,因为ArrayList可以存储Object。

三,方法:

ArrayList作为Array的增强版,当然是在方法上比Array更多样化,比如添加全部addAll()、删除全部removeAll()、返回迭代器iterator()等。

适用场景:

如果想要保存一些在整个程序运行期间都会存在而且不变的数据,我们可以将它们放进一个全局数组里,但是如果我们单纯只是想要以数组的形式保存数据,而不对数据进行增加等 *** 作,只是方便我们进行查找的话,那么,我们就选择ArrayList。而且还有一个地方是必须知道的,就是如果我们需要对元素进行频繁的移动或删除,或者是处理的是超大量的数据,那么,使用ArrayList就真的不是一个好的选择,因为它的效率很低,使用数组进行这样的动作就很麻烦,那么,我们可以考虑选择LinkedList。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11725952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存