LinkedList中的Node类

    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;
        }
    }

以上是存储数据的核心节点,非常普通的双向链表节点

LinkedList中的核心数据

transient int size = 0;  
  
transient Node<E> first;  

transient Node<E> last;

由上面的代码可知,LinkedList是一个具有头节点和尾节点的链表。

而且这些数据在Java默认的序列化中都不参与。

LinkedList初始化

空参构造

public LinkedList() {  
}

LinkedList空参构造什么也没做。

通过集合构造

    public LinkedList(Collection<? extends E> c) {
        this();
        addAll(c);
    }

先调用空参构造,再调用addAll()添加数据。

增删改查

LinkedList不像ArrayList具有扩容机制,因此增删改查就是普通的链表增删改查。

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com