Vector


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