LinkedList源码分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList源码分析相关的知识,希望对你有一定的参考价值。
LinkedList是常用的一种List实现。
LinkedList基于双向链表机制实现。所谓双向链表机制,就是集合中的每个元素都知道其前一个元素和其后一个元素的位置。
在LinkedList中,以一个内部的Entry类来代表集合中的元素,元素的值赋值给element属性,Entry中的next属性指向元素的后一个元素,Entry中的previous属性指向元素的前一个元素。基于这种机制可以快速实现集合中元素的移动。
在创建LinkedList对象时,应首先创建一个element属性为null、next属性为null、previous属性为null的Entry对象,并赋值给全局的header属性。
在执行构造器时,LinkedList将header的next、previous都指向header,以形成双向链表所需的闭环。
当插入元素时,需创建一个新的Entry对象,并切换相应元素的前后元素的引用;在查找元素时,需遍历链表;在删除元素时,需遍历链表,找到要删除的元素,然后从链表上将此元素即可。
LinkedList是非线程安全的。
以上是关于LinkedList源码分析的主要内容,如果未能解决你的问题,请参考以下文章