摘要
主要是分析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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?