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则是2Vector已经被淘汰了
最后更新于
这有帮助吗?