1.ArrayList:采用数组的形式保存对象,这种方式将对象保存在连续的位置中,所以查询效率比较高,但是插入删除时麻烦,并且ArrayList不是线程安全的。
2.Vector:保存对象的方式与ArrayList相同,但是Vertor方法中都有synchronized关键字,所以是线程安全的。
3.LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查询麻烦。
关于ArrayList实现线程安全方法:
1.使用Vector,它是ArrayList的线程安全版本,其实现90%和ArrayList都完全一样。
2.使用Collections.synchronizedList方法把你的ArrayList变成一个线程安全的List。
3.两种区别
1.SynchronizedList有很好的扩展和兼容功能。他可以将所有的List的子类转成线程安全的类。
2.使用SynchronizedList的时候,进行遍历时要手动进行同步处理。
3.SynchronizedList可以指定锁定的对象。
4.LinkedList也是使用SynchronizedList转换成线程安全的类,Vector不能替代LinkedList。