您当前的位置: 首页 > 

庄小焱

暂无认证

  • 4浏览

    0关注

    800博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JDK源码——LinkList类

庄小焱 发布时间:2021-11-22 12:43:36 ,浏览量:4

摘要

主要是分析java.util.LinkList的类的相关源码内容。

一、LinkList的定义

LinkedList 是链表实现的线性表(双链表),元素有序且可以重复。

public class LinkedList
    extends AbstractSequentialList
    implements List, Deque, Cloneable, java.io.Serializable

二、LinkList 字段属性

注意这里出现了一个 Node 类,这是 LinkedList 类中的一个内部类,集合里每一个元素就代表一个 Node 类对象,LinkedList 集合就是由许多个 Node 对象类似于手拉着手构成,由此可知,LinkedList是一个双向链表。  需要注意:第一个节点prev没有指向的节点,为null,最后一个节点next也没有指向的节点,也为null。

//链表元素(节点)的个数
transient int size = 0;
//第一个元素的指针
transient Node first;
//最后一个元素的指针
transient Node last;

如图所示:每个节点都prev都保存上一个节点的引用,next保存下一个节点的引用;

三、Linklist的构造函数 3.1 无参构造函数
// 注意:这里不需要初始化链表的大小,不像ArrayList,需要初始化数组的大小才能添加元素
public LinkedList() {
}
3.2 泛型参数有参构造函数
// 将已有元素的集合Collection 的实例添加到 LinkedList 中
public LinkedList(Collection            
关注
打赏
1657692014
查看更多评论
0.2626s