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比较好。因为它元素的地址是连续的。
学习之所以会想睡觉,是因为那是梦开始的地方。