java中Vector的使用问题

ArrayList和Vectory是List接口的实现,为什么ArrayList线程不安全?通常使用ArrayList,什么时候使用Vectory?

因为Vector的方法使用了synchronized,所以是线程安全的,而ArrayList没有,所以是线程不安全的

如果有多线程并发的情况下就用Vector,单线程的时候就是ArrayList
因为线程不安全的总是比线程安全的执行更快,因为不需要加线程锁

Vector的方法使用了synchronized,在单个线程下,性能不如ArrayList,如果一个集合中的元素多个线程都会访问和修改,使用Vector最好

主要是速度问题,才使用List,如果你要实现线程安全的List,可以用集合工具类包装一下List即可。

上面@ tomsaid已经说了Vectory在实现的时候使用了synchronized,而ArrayList没有,但是有个工具类Collections可以包装上面的ArryList,因此使用ArrayList完全没问题
tomsaid