java中的LinkedList的add()解析

一. 介绍LinkedList类  

  阐明LinkedList类的成员:

vip

  其本质是双向链表,first指向链表的头部,last指向链表的尾部。

二. 介绍LinkedList静态内部类Node类

  阐明Node类的成员:

vip

三. 创建LinkedList对象

  调用无参构造器,创建一个空链表

  

 四. 解析add()方法

  示例代码如下:

public class LinkedListCRUD {
    public static void main(String[] args) {
        LinkedList linkedList = new LinkedList();
        linkedList.add(1);
        linkedList.add(2);
    }
}

  主要源代码如下:

vip

vip

  添加1之后的示意图,如下图所示:

 vip

   添加2具体步骤的示意图,如下图所示:

vip

 

vip

 

vip

 注意:双向链表,头部节点的前驱是NULL,尾部节点的后继是NULL。

总结:

first 指针固定不变,通过移动 l 和 last 指针,进行添加【尾插法】;

1) l 指针 移动到 last的位置;

2)创建新的节点【需要添加的新元素】,将该节点的 next 指针指向空,pre 指针指向 l指针所指向的地址;

3)让 last 指针指向新的节点,并且将 l 指针指向的节点的 next 指针 指向 新的节点。 

此处,我是以C语言的指针来理解的。

posted @ 2023-01-01 11:23  zwGitOne  阅读(246)  评论(0编辑  收藏  举报