那么问题来了
ArrayList有没有办法线程安全?
Collections工具类有一个synchronizedList方法
可以把list变为线程安全的集合,但是意义不大,因为可以使用Vector
Vector为什么是线程安全的?
老实讲,抛开多线程 它俩区别没多大,但是多线程下就不一样了,因为Vector的关键方法都使用了synchronized修饰。
LinkedList 是双向列表。根据index处于前半段还是后半段,来判断已头结点还是尾结点为起来来遍历,来获得当前index所代表的值
通过下标获取某个node 的时候,(add select),会根据index处于前半段还是后半段 进行一个折半,以提升查询效率
删也一定会修改modCount。 按下标删,也是先根据index找到Node,然后去链表上unlink掉这个Node。 按元素删,会先去遍历链表寻找是否有该Node,如果有,去链表上unlink掉这个Node。
ArrayList,LinkedList,Vector的区别
原文:https://www.cnblogs.com/nyhhd/p/12655119.html