和ArrayList相同,内部也是采用连续结构Object[]存储数据,且该数组是一个容器,有size字段记录长度:
Object[]
size
创建Vector,会默认分配10的容量:
与ArrayList不同,add方法变为线程安全的,但在添加元素时,同ArrayList一样有可能发生扩容:
其中扩容的规则如下,不同于ArrayList,采用2倍扩容
总结:
ArrayList是非线程安全的,Vector是线程安全的,他的方法有synchronized,所以Vector效率较低
ArrayList
Vector
synchronized
ArrayList扩容的倍数为1.5,Vector则是2
1.5
2
Vector 已经被淘汰了
最后更新于1个月前