LinkedList

一)

当ArrayList添加一个对象时,实际上是将该对象放置在ArrayList底层所维护的数组当中;而LinkedList中添加一个对象时,实际上LinkedList内部会生成一个Entry对象,该Entry对象的结构为:

其中的Object类型的元素element就是我们向LinkedList中所添加的元素,然后Entry又构造好了指向前一个对象的引用previous和指向后一个对象的引用next,最后将生产的这个Entry对象加入到链表当中。也就是说,LinkedList当中所维护的是一个个的Entry对象。

二)

LinkedList的常用方法于ArrayList类似,看以下代码:

上述代码依次采用方法:

add():在链表后添加元素。

addFirst():在链表最前面增加一个元素。

addLast():在链表最后面增加一个元素。

remove():移除特点的元素,或者第几个元素。

 

关于ArrayList 与 LinkedList的比较分析

a)ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。

b)当执行插入或者删除操作时,采用LinkedList比较好。因为它的只需把对象的前驱后继改一下就行。而ArrayList需要整体移动。

c)当执行搜索操作时,采用ArrayList比较好。因为它元素的地址是连续的

原文地址:https://www.cnblogs.com/vmax-tam/p/4071263.html