ArrayList,Vector, LinkedList的区别

联系
ArrayList,Vector, LinkedList三者都是List接口的实现类,都是用来存储数据的。
区别
ArrayList和Vector底层都是通过数组实现的,都直接通过序号索引元素,但是插入和删除元素要设计数组的元素移位等内存操作,所以索引快增删慢,Vector使用了synchronized方法,所以是线程安全的,但性能上要低于ArrayList。LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

表格区别

  • ArrayList:
    底层数据结构是数组,查询快,增删慢
    线程不安全,效率高

  • Vector:
    底层数据结构是数组,查询快,增删慢
    线程安全,效率低

  • LinkedList:
    底层数据结构是链表,查询慢,增删快
    线程不安全,效率高

猜你喜欢

转载自blog.csdn.net/qq_42780864/article/details/81485231