ArrayList与Vector区别

时间:2023-03-09 00:44:30
ArrayList与Vector区别

                                            

ArrayList与Vector区别表
ArrayList Vector
1、实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1、实现原理:采用动态数组对象实现,默认构造方法创建了一个大小为10的对象数组
2、第一次添加元素,扩展容量为10,之后的扩充算法:原来数组大小+原来数组的一半 2、扩充的算法:当增量为0时,扩充为原来大小的2倍,当增量大于0时,扩充为原来大小+增量
3、不适合进行删除或插入操作 3、不适合进行删除或插入操作
4、为了防止数组动态扩充次数过多,建议创建ArrayList时,给定初始容量。 4、为了防止数组动态扩充次数过多,建议创建Vector时,给定初始容量
5、多线程中使用不安全,适合在单线程访问时使用,效率较高。 5、线程安全,适合在多线程访问时使用,效率较低
  6、setSize如果设置的长度比当前元素个数要大的话,后面的元素将被置为空值

1、ArrayList设置默认大小

ArrayList<String> arrayList = new ArrayList(20);

2、Vector设置默认大小

Vector<String> vector = new Vector(20);

3、Vector设置增量大小(第一个参数是初始容量,第二个参数是增量)

Vector<String> vector = new Vector(20,1);