LinkList

作者: 赵呆一 | 来源:发表于2020-07-03 15:02 被阅读0次

前言

在看了ArrayList 发现LinkList跟ArrayList的构造很相似 只不过在添加的时候换成了游标的类型 当每一次添加一个的时候就判断所有数据 然后加1

代码

每次创建时候 添加一个元素

    /**
     * Appends the specified element to the end of this list.
     *
     * <p>This method is equivalent to {@link #addLast}.
     *
     * @param e element to be appended to this list
     * @return {@code true} (as specified by {@link Collection#add})
     */
    public boolean add(E e) {
        linkLast(e);
        return true;
    }
/**
 * Links e as last element.
 */
void linkLast(E e) {
    final Node<E> l = last;
    final Node<E> newNode = new Node<>(l, e, null);
    last = newNode;
    if (l == null)
        first = newNode;
    else
        l.next = newNode;
    size++;
    modCount++;
}

数量加一 大小加一 是否是第一个数据 如果添加的不是第一个数据则游标往后一位移动

  private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }

每一个节点 是不是根节点 前一个元素 后一个元素 这样看起来 在大量添加元素的时候每次都要创建一个final类型的游标 很浪费资源 如果大量添加数据的话 使用LinkList很浪费资源

相关文章

  • 链表(C语言)

    LinkList.h LinkList.c

  • 单链表

    LinkList.h typedef void LinkList;typedef void LinkListNod...

  • 线性表--链表(C++)

    Node.h Node.cpp LinkList.h LinkList.cpp test.cpp

  • JavaSE基础知识学习-----集合之LinkList

    LinkList 概述 LinkList是List接口的实现类,与ArrayList不同的是,ArrayList采...

  • 链表,单链表

    关于链表的一些知识 ifndef LINKLIST_H define LINKLIST_H typedef voi...

  • linklist

    LinkedList 是一个类 实现的接口:List、Collection、Iterable、Seriali...

  • linkList

    有时觉得链表的首节点和其他节点导致的不同环境使代码非常复杂的,可以考虑在链表头处加一个dummy node, 这样...

  • Linklist

    大家好,我是IT修真院,一枚正直纯洁善良的如刚入门的Java程序员,今天试着给大家分享一下关于Linklist的内...

  • LinkList

    前言 在看了ArrayList 发现LinkList跟ArrayList的构造很相似 只不过在添加的时候换成了游标...

  • ArrayList和LinkList的区别

    一、ArrayList和LinkList的共同点 1、ArrayList和LinkList都实现了以下接口:jav...

网友评论

      本文标题:LinkList

      本文链接:https://www.haomeiwen.com/subject/uqusqktx.html