LinkedList源码分析

Posted

tags:

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

 

LinkedList是常用的一种List实现。

LinkedList基于双向链表机制实现。所谓双向链表机制,就是集合中的每个元素都知道其前一个元素和其后一个元素的位置。

LinkedList中,以一个内部的Entry类来代表集合中的元素,元素的值赋值给element属性,Entry中的next属性指向元素的后一个元素,Entry中的previous属性指向元素的前一个元素。基于这种机制可以快速实现集合中元素的移动。

 

在创建LinkedList对象时,应首先创建一个element属性为nullnext属性为nullprevious属性为nullEntry对象,并赋值给全局的header属性。

在执行构造器时,LinkedListheadernextprevious都指向header,以形成双向链表所需的闭环。

 

当插入元素时,需创建一个新的Entry对象,并切换相应元素的前后元素的引用;在查找元素时,需遍历链表;在删除元素时,需遍历链表,找到要删除的元素,然后从链表上将此元素即可。

 

LinkedList是非线程安全的。

以上是关于LinkedList源码分析的主要内容,如果未能解决你的问题,请参考以下文章

linkedList源码分析

LinkedList源代码深入剖析

JDK源码LinkedList源码分析

LinkedList源码分析

LinkedList源码分析

LinkedList源码分析--jdk1.8