前面讲了两个List的子类,一个linkedList,一个ArrayList,他们两个都是线程不安全的。那么现在来了解一下Vector(嘿嘿,其实我也没用过,不过还是看看源码吧),那么我还是先从实用的角度进行了解。顺带提一句,vetor可以说成是线程安全的arrayList。

1.还是先进入无参构造器

Vector

最终是进了这个构造器,就是先new一个数组,初始容量是10,capacityIncrement感觉就是为了让vector扩容2倍。而ArrayList是在第一次add的时候初始化。

(2)add(E e)方法。

Vector

其实和arraylist一样,唯独的不同就是加锁了。扩容的机制还是差不多的,一样是从头到尾的拷贝。

(3)remove(index)

Vector

就是将数组从index+1这个位置开始copy,copy开始的位置是index开始,将数组的最后一个位置置空。

其实大致看了下,发现基本都是arraylist的方法,然后加上sychronized就保证了线程安全。

相关文章:

猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2021-09-04
相关资源
相似解决方案