今天来说一说ArrayList和Vector的区别:
相同点:
- ArrayList和Vector都是java.util包中提供的集合容器
- ArrayList和Vector底层都是由数组进行元素存储的
- ArrayList和Vector默认初始化数组的长度都是10
- ArrayList和Vector底层存储空间堆满后都可以动态扩容
不同点:
- ArrayList是非线程安全的,Vector是线程安全的
- ArrayList创建时没有数组空间,第一次调用add方法的时候才分配数组空间,Vector是在new对象的时候就分配数组空间了
- ArrayList扩容方式是1.5倍,而Vector扩容方式是2倍
- ArrayList不能设置扩容因子,而Vector可以设置扩容因子(capacityIncrement)