|
|
简介
- Vector和ArrayList一样是基于数组实现的,是一个动态数组,其容量能自动增长。
- Vector和ArrayList的区别在于,Vector是线程安全的。
- 和ArrayList实现了一样的接口
源码分析
属性
|
|
构造方法
|
|
方法
扩容
|
|
Vector:如果在构造函数中没有指定每次扩容时应该增加的容量大小,则每次扩容默认为容量加倍。
ArrayList对比:ArrayList每次扩容则是默认增加0.5倍左右。
基本方法
|
|
Vector的线程安全是通过synchronized关键字来实现的,要么是方法上直接添加synchronized关键字,要么是嵌套调用同步的方法。
Vector也可以包含null元素。
迭代器
|
|
Vector包括和ArrayList一样的Iterator和ListIterator迭代器,迭代器内部的方法也是同步的。同时还有独特的迭代方式Enumeration
|
|
感谢:
http://blog.jrwang.me/2016/java-collections-vector-stack/
http://blog.csdn.net/chdjj/article/details/38494183