zoukankan      html  css  js  c++  java
  • linkedList 的底层实现

    LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构。和 ArrayList 一样,LinkedList 也支持空值和重复值。由于 LinkedList 基于链表实现,存储元素过程中,无需像 ArrayList 那样进行扩容。但有得必有失,LinkedList 存储元素的节点需要额外的空间存储前驱和后继的引用。另一方面,LinkedList 在链表头部和尾部插入效率比较高,但在指定位置进行插入时,效率一般。原因是,在指定位置插入需要定位到该位置处的节点,此操作的时间复杂度为O(N)。最后,LinkedList 是非线程安全的集合类,并发环境下,多个线程同时操作 LinkedList,会引发不可预知的错误

    首先LinkedList 的 成员变量  

     重点是  first  last 变量 size 对象的个数

     内部有一个内部类  内部类 包括 next 指向下一个元素 和 pre指向上一个元素

     

     这就是为什么 LinkedList 是一个链表,传入元素的时候 只是插入一个 Node 对象,并指向 上一个和下一个对象 

    但是要循环查询元素 就需要逐个去查询 

     

    在插入 删除 元素的时候 只是操作 Node 对象 next 指向下一个元素 和 pre指向上一个元素即可

  • 相关阅读:
    Android 六种核心安全机制
    Android 网络通信 HTTP
    Android Thread和AsyncTask
    C#(少用的)
    Asp.net动态生成表单
    设计模式--职责链(学习)
    Extjs表单验证小结
    C#框架
    Javascript获取IFrame内容(兼容IE&FF)
    最近在忙淘宝店的事
  • 原文地址:https://www.cnblogs.com/bug1024/p/11245095.html
Copyright © 2011-2022 走看看