一. LinkedList初始
LinkedList和ArrayList一样是集合List的实现类,虽然较之ArrayList,其使用场景并不多,但同样有用到的时候,那么接下来,我们来认识一下它。其实它们两个都同属于List阵营,只不过实现方式有所差异,ArrayList 就是借助Array 实现的List,LinkedList 就是借助双向链表(Linked) 实现的List
首先我们回顾一下ArrayList,ArrayList 底层是数组,添加或者删除都是针对数组上某一个下标上的元素进行操作,就是你记住它的底层实现依赖数组。
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.因为是双向链表作为主要结构,所以这里不再依赖数组了,数据是封装在了一个节点里,而节点与节点之间的关系,是通过节点之间的指针表示的,而在ArrayList中节元素其实更准确的是数据或者是元素本身)并没有被封装成节点,而是裸露着的,因为节点与节点之间的关系,是通过数组这个容器的属性表示的,主要就是下标维护了先后顺序。
最终LinkedList 的形态如下所示
1. LinkedList 的说明书
在看说明书之前,我们还是先看一下整个类的继承关系