在上一篇文章中我们介绍了ArrayList使用方法,并进行了简单的模拟实现,但通过分析我们发现其不方便进行插入和删除操作,因为要移动数组元素,最坏情况下时间复杂度会达到O(n)效率比较低,因此ArrayList不适合做任意位置插入和删除比较多的场景。因此:java集合中又引入了LinkedList,即链表结构。
一、什么是链表
概念:链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。
注意: 链式结构是在逻辑上连续,但在物理上不一定连续。
实际中链表的结构非常多样,以下情况组合起来就有
8
种链表结构:
1.
单向或者双向

2.
带头或者不带头
3.
循环或者非循环

虽然有这么多的链表的结构,但是我们重点掌握两种
:
无头单向非循环链表
:
结构简单
,一般不会单独用来存数据。实际中更多是作为