Java笔记之ArrayList与LinkList区别与联系

一、数据结构的区别

    ArrayList数据结构是一个数组结构,LinkedList数据结构是一个双向循环链表结构。

二、增删改查的区别

    ArrayList比LinkedList的查询速度会更加快,ArrayList的底层采用随机访问(Randomaccess)策略根据下标查找元素,而LinkedList不支持随机访问,采用的是逐一查找方法。LinkedList的增、删只需要改变node指向,ArrayList增、删则会对整个数组进行重新排列,故LinkedList的增、删效率优于ArrayList。

ArrayList & LinkedList添加区别

三、内存的区别

    LinkedList比ArrayList更加占内存,LinkedList的节点除存储数据外还存储了一个指向前一个元素和一个指向后一个元素的两个引用。

四、时间复杂度的区别

    ArrayList根据数组下标进行随机查找时间复杂度是O(1),LinkedList依靠地址指针和后一个元素进行查找,故时间复杂度为O(n)。

你可能感兴趣的:(Java笔记之ArrayList与LinkList区别与联系)