1:ArrayList 和 LinkedList都是线程不安全的,如果多个线程同时访问一个 ArrayList 实例,而其中至少一个线程从结构上修改了列表,那么它必须 保持外部同步。。(结构上的修改是指任何添加或删除一个或多个元素的操作,或者显式调整底层数组的大小;仅仅设置元素的值不是结构上的修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方法将该列表“包装”起来。这最好在创建时完成,以防止意外对列表进行不同步的访问: List list = Collections.synchronizedList(new ArrayList(…)); Vector是线程安全的
2:ArrayList,Vector底层都是靠一个Object类型的数组实现的,LinkedList则是一个双向链表!这个性质决定了 ArrayList,Vector查询的时候速度快,LinkedList 增删速度快
3:LinkedList继承了Deque,这允许将链接列表用作堆栈、队列或双端队列。
poll() ,获取并移除此列表的头(第一个元素)
pop() , 从此列表所表示的堆栈处弹出一个元素。
push(E e) ,将元素推入此列表所表示的堆栈。
ArrayList 、 LinkedList、Vector
最新推荐文章于 2020-03-27 16:19:10 发布