Arraylist和Linkedlist的区别

来源:互联网 发布:qq飞车 知乎 编辑:程序博客网 时间:2024/05/16 18:33

ArrayList:

    线程不同步

    优点:集合底层采用数组数据结构来保存对象,因为数组有索引,所以查询速度比较快,它在内存中分配的空间是连续的;
    缺点:这种方式将对象放在连续的位置中,所以增删时非常麻烦,速度比较慢。
 

LinkedList:

    线程同步

    优点:集合的底层采用的是链表数据结构来保存对象,将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引,

               增删速度比较快;

    缺点:查找时非常麻烦,需要丛第一个索引开始查找,所以查询速度比较慢。