摘要
主要是分析java.util.LinkList的类的相关源码内容。
一、LinkList的定义LinkedList 是链表实现的线性表(双链表),元素有序且可以重复。
public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, java.io.Serializable
注意这里出现了一个 Node 类,这是 LinkedList 类中的一个内部类,集合里每一个元素就代表一个 Node 类对象,LinkedList 集合就是由许多个 Node 对象类似于手拉着手构成,由此可知,LinkedList是一个双向链表。 需要注意:第一个节点prev没有指向的节点,为null,最后一个节点next也没有指向的节点,也为null。
//链表元素(节点)的个数
transient int size = 0;
//第一个元素的指针
transient Node first;
//最后一个元素的指针
transient Node last;
如图所示:每个节点都prev都保存上一个节点的引用,next保存下一个节点的引用;
// 注意:这里不需要初始化链表的大小,不像ArrayList,需要初始化数组的大小才能添加元素
public LinkedList() {
}
3.2 泛型参数有参构造函数
// 将已有元素的集合Collection 的实例添加到 LinkedList 中
public LinkedList(Collection
关注
打赏