LinkedList----源码分析

源码介绍
public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable{}
添加过程中的操作:

当创建LinkedList类时,会调用其空参构造方法,将其参数进行初始化,里面有:

transient int size = 0;//实际集合大小
​
/**
 * Pointer to first node.
 */
transient Node<E> first;//指向第一个元素
​
/**
 * Pointer to last node.
 */
transient Node<E> last;//指向最后一个元素

当我们进添加元素的时候,此时会调用我们的linkedLast方法,然后将我们要添加的元素放入一个Node内部类中进行封装,如下:

private static class Node<E> {
    E item;//我们的具体数据
    Node<E> next;//指向下一个节点
    Node<E> prev;//指向前一个节点
//linkedLast方法中会调用我们这个满参构造
    Node(Node<E> prev, E element, Node<E> next) {
        this.item = element;
        this.next = next;
        this.prev = prev;
    }
}

在调用linkedLast方法:

void linkLast(E e) {
    final Node<E> l = last;//首先获取我们的外部类中的成员last即为linkedList指向最后一个元素的成员变量
    final Node<E> newNode = new Node<>(l, e, null);//传入头节点、数据、尾节点
    last = newNode;//由于是插入数据,所以直接last指向新节点
    if (l == null)
        first = newNode;//如果last是空,则说明此时是第一个节点
    else
        l.next = newNode;//否则则让原先的last节点指向我们新插入的节点
    size++;//长度跟着变化
    modCount++;//记录修改次数
}

相关推荐

  1. LinkedList解析

    2024-07-12 00:42:04       29 阅读
  2. LinkedList解析和设计思路

    2024-07-12 00:42:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 00:42:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 00:42:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 00:42:04       57 阅读
  4. Python语言-面向对象

    2024-07-12 00:42:04       68 阅读

热门阅读

  1. selenium常用方法

    2024-07-12 00:42:04       24 阅读
  2. (九)Docker 的网络通信

    2024-07-12 00:42:04       22 阅读
  3. 【力扣】每日一题—第242题,有效的字母异位词

    2024-07-12 00:42:04       20 阅读
  4. Go单元测试

    2024-07-12 00:42:04       23 阅读
  5. C# IOC容器、依赖注入和控制反转

    2024-07-12 00:42:04       24 阅读
  6. 使用C++编写TCP服务端程序

    2024-07-12 00:42:04       24 阅读
  7. 什么是AQS

    2024-07-12 00:42:04       19 阅读
  8. mvvm模式

    2024-07-12 00:42:04       25 阅读
  9. Mybatis-Plus最优化持久层开发

    2024-07-12 00:42:04       21 阅读