Vector简介
1 | public class Vector<E> |
- Vector 顶层实现数组,但是容量可以根据需要增长或者减少
- Vector 同步(synchronized修饰),线程安全,多线程可以安全使用
- Vector 实现 List,所以可以添加、删除、修改和遍历等
- Vector 实现 RandomAccess,可以根据索引快速获取元素
- Vector 实现 Cloneable,可以被克隆
- Vector 实现 Serializable,可以序列化和反序列化
继承关系
1 | Vector 继承 AbstractList<E> |
实现接口
1 | Vector implements List<E>, RandomAccess, Cloneable, java.io.Serializable |
Vector方法(API)
1 | synchronized boolean add(E object) |
Vector源码分析
1 | public class Vector<E> |
总结
- vector 底层数组实现,默认大小10
- vector 容量满的时候,若有增长系数,则增加那么多,没有则增加一倍
- vector 方法都被 synchronized 修饰,线程安全
- vector 查找元素,分为是否 null,并且允许元素为null
- vector 随机查找较快,迭代器最慢
参考
https://blog.csdn.net/u010648555/article/details/59199840
https://github.com/zxiaofan/JDK/blob/master/JDK1.8/src/java/util/Vector.java