前面讲了两个List的子类,一个linkedList,一个ArrayList,他们两个都是线程不安全的。那么现在来了解一下Vector(嘿嘿,其实我也没用过,不过还是看看源码吧),那么我还是先从实用的角度进行了解。顺带提一句,vetor可以说成是线程安全的arrayList。
1.还是先进入无参构造器
最终是进了这个构造器,就是先new一个数组,初始容量是10,capacityIncrement感觉就是为了让vector扩容2倍。而ArrayList是在第一次add的时候初始化。
(2)add(E e)方法。
其实和arraylist一样,唯独的不同就是加锁了。扩容的机制还是差不多的,一样是从头到尾的拷贝。
(3)remove(index)
就是将数组从index+1这个位置开始copy,copy开始的位置是index开始,将数组的最后一个位置置空。
其实大致看了下,发现基本都是arraylist的方法,然后加上sychronized就保证了线程安全。