ArrayList和数组的区别

 我来答
黑科技1718
2022-07-25 · TA获得超过5872个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:81.7万
展开全部

1、数组在创建的时候就固定大小;而对于ArrayList,只需要创建此对象,不需要指定大小,因为他会在加入或删除元素时自动地调整大小。

ArrayList如何自动调整大小:ArrayList在存东西之前会判断一次:看看下标索引,有没有到达初始化长度最大索引的临近位置,如果到了,它就新建一个临时数组长度为当前数组长度的1.5倍,然后在把当前数组内容拷贝到临时数组里面去,最后在把当前数组引用指向临时数组引用,这样就完成当前数组的扩容了

2、存放对象给数组时必须指定索引,如果指定的索引超过了创建数组时的索引大小,会报 ArrayIndexOutOfBoundsException 即数组索引越界异常;而对于ArrayList,可以用add(Object)的形式让它自行管理大小。

3、数组使用的是特殊的语法;ArrayList是个普通对象,所以不会有特殊的语法。

其实ArrayList的底层数据结构就是一个数组,所以在已知所要创建数组需要的长度的前提下,使用数组在性能上可以有一定的提升。

参考书籍:《Head First Java》

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式