数组Array:
-
相比arraylist而言,处理固定大小的基本数据类型的时候,这种方式相对高效,但使用前先设定容量,容量固定难以动态扩展。
-
通常情况下存储同构对象(如int[] String[]等),但声明object[]的数组除外
-
存储类型校验
-
不能够随意添加项和删除其中的项
-
插入数据后面的数组全部后移一位
-
内存地址中连续存放
ArrayList:
-
容量动态增长,牺牲效率.arraylist的大小是自动变化的,如果在初始化的时候没有定义它的默认容量大小,那么默认是10,之后的增长规则是:((旧容量 * 3) / 2) + 1
-
不校验类型,编译时会
-
ArrayList可以在任意位置插入和删除项
-
插入数值只需改变相邻的链表地址
-
内存地址中不连续存放
使用时要看情况,基于效率和类型检验一般情况下都使用数组,简明来说ArrayList是Array的复杂版本,其内部封装了一个Object[]而已。