美文网首页计算机知识集锦
ArrayList实现和LinkedList实现

ArrayList实现和LinkedList实现

作者: yellowone | 来源:发表于2017-07-07 21:31 被阅读0次

ArrayList是利用动态数组实现。由于是动态数组,在add或者remove的时候,会需要将数组的i+1到size()的所有元素往后移一位,要是遇到了数组长度不够的情况下还会创建一个新数组是旧数组的长度的两倍,耗费的代价是巨大的,但是在操作get和set的时候时间复杂度是O(1)。

而LinkedList是通过双向链表去实现,在java中并没有指针,于是使用了node的对象,储存date和下一个的node对象和上一个的node对象。在进行add或者remove操作时,通过对指定元素的上一个节点和下一个节点的指向就能简单的实现,但是在这之前需要找出对应的节点,需要进行一次O(N/2)代价的操作。

相关文章

  • Java集合

    ArrayList和LinkedList的区别和底层实现?如何实现线程安全? 数据结构实现:ArrayList 是...

  • java基本知识

    1、描述一下ArrayList和LinkedList各自实现和区别ArrayList是数组,LinkedList是...

  • 栈和队列

    ArrayList和LinkedList的实现方式 ArrayList的底层实现是可以增长的数组,LinkedLi...

  • ArrayList和LinkedList的区别?

    arrayList和linkedList都是list接口的实现类,arrayList是基于动态数组实现的,Link...

  • Java源码系列(6) -- LinkedList

    一、介绍 Java常用的List实现有ArrayList和LinkedList。ArrayList通过数组实现,L...

  • java

    1、Arraylist和Linkedlist区别 (1)ArrayList 底层实现就是数组,且ArrayList...

  • ArrayList和LinkedList区别

    LinkedList和ArrayList的区别LinkedeList和ArrayList都实现了List接口,但是...

  • 阿里盒马提前批java后端(一面)

    ArrayList和LinkedList的区别 HashMap底层实现 HashMap怎么实现扩容的 ...

  • RandomAccess 接口

    ArrayList 实现了 RandomAccess 接口, 而 LinkedList 没有实现。为什么呢?还是和...

  • java面试复习2

    list 下 arraylist ,linkedlist实现和区别 1.arraylist 使用的Object数...

网友评论

    本文标题:ArrayList实现和LinkedList实现

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