一.ArrayList
1.实现原理:采用动态对象数组实现,默认构造创建一个空对象数组;
2.第一次添加对象扩容为10,之后的扩容算法为1.5倍原数组大小;
3.不适合进行插入或删除操作;
4.为了防止数组扩容次数较多,建议创建时传入初始量参数;
5.线程不安全,适合单线程访问时使用;
6.JDK1.2引入。
二.Vector
1.实现原理:采用动态对象数组实现,默认构造创建一个大小为10的对象数组;
2.扩容算法:当增量为0时,扩容为原来的两倍,当增量大于0时,扩容为原来的大小加上增量;
3.不适合进行插入或删除操作;
4.为了防止数组扩容次数较多,建议创建时传入初始量参数;
5.线程安全,适合多线程访问时使用,效率较低。