ArrayList和LinkedList的区别

Posted AK-1958

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList和LinkedList的区别相关的知识,希望对你有一定的参考价值。

1.ArrayList

  ArrayList<E> extends AbstractList<E> 底层实现是个动态数组

2.LinkedList

  class LinkedList<E> extends AbstractSequentialList<E> 是个双向链表

区别:

get和set:ArrayList基于动态数组实现,get和set元素速度快,而LinkedList基于双向链表,每次get都要先通过for循环获取元素的index,再返回具体的值,因此速度慢

add和remove:ArrayList基于动态数组,每次add或者remove都要移动数组中的数据,重新排列数组下标,因此较慢,而LinkedList基于双向链表,每次add或者remove只需要改变指针的指向即可,因此速度快。

 

以上是关于ArrayList和LinkedList的区别的主要内容,如果未能解决你的问题,请参考以下文章

ArrayList和LinkedList区别,举例说明下

arraylist和linkedlist的区别

ArrayList和LinkedList的区别

ArrayList和LinkedList的区别

ArrayList和LinkedList的区别

ArrayList和LinkedList区别