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指向上一个元素即可

  • 相关阅读:
    XML介绍
    JavaScript基础
    pygame模块参数汇总(python游戏编程)
    CSS3
    CSS( Cascading Style Sheets )简书
    HTML5
    用python进行应用程序自动化测试(uiautomation)
    HTML入门
    Selenium2 (python)
    C#快速入门
  • 原文地址:https://www.cnblogs.com/bug1024/p/11245095.html
Copyright © 2011-2022 走看看