理解一下LinkedList

LinkedList简单剖析

数据结构概念

LinkedList的数据结构的本质是双向链表,所以它的占用的内存空间是不连续的,可利用零碎的空间,但查找访问元素的话每次都要遍历节点,效率低。总结来说就是按顺序查找的线性结构,内存空间利用率高。

源码层次

  1. 继承抽象类与接口
public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable{......}

实现了Deque接口,它具有队列和栈的性质

  1. 重要的成员变量

    transient int size = 0;
    
        /**
         * Pointer to first node.
         * Invariant: (first == null && last == null) ||
         *            (first.prev == null && first.item != null)
         */
        transient Node<E> first;
    
        /**
         * Pointer to last node.
         * Invariant: (first == null && last == null) ||
         *            (last.next == null && last.item != null)
         */
        transient Node<E> last;
    

    用transient修饰,不允许被反序列化。


有错误请联系笔者或在评论区指出,感谢


posted @ 2020-07-13 16:19  Faink  阅读(169)  评论(0)    收藏  举报