Vector

Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。
它的很多实现方法都加入了同步语句,因此是线程安全的,(相对安全,有些情况还是要加入同步语句来保证线程安全的)可以用于多线程环境。
 Vector没有实现Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。
对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况。可以考虑使用向量类。 
参数capacityincrement给定了每次扩充的扩充值。当capacityincrement为0的时候,则每次扩充一倍,利用这个功能可以优化存储。
覆盖hashCode()方法的原则:
       1、一定要让那些我们认为相同的对象返回相同的hashCode值
       2、尽量让那些我们认为不同的对象返回不同的hashCode值,否则,就会增加冲突的概率。
       3、尽量的让hashCode值散列开(两值用异或运算可使结果的范围更广)
原文地址:https://www.cnblogs.com/chump-zwl/p/6944953.html