ArrayList和数组的区别

如题所述

第1个回答  2022-07-25

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

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

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

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

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

参考书籍:《Head First Java》

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网