美文网首页
ArrayList和LinkedList,用哪个?不再纠结了

ArrayList和LinkedList,用哪个?不再纠结了

作者: 你的益达233 | 来源:发表于2020-12-04 17:34 被阅读0次

    一、共同点

    它们都是List实现了的子类

    二、区别

    1. ArrayList是动态数组结构,LinkedList是链表结构
    2. ArrayList有个明显的缺点,就是当容量接近满值的时候,会进行扩容,JDK默认扩容为1.5,那么数据量极大时,就会造成内存空间的大量浪费。 而LinkedList用到多少就申请多少内存
    3. ArrayList的随机访问速度非常快,但是指定位置添加、删除操作时需要将后续元素全部顺移。而LinkedList则恰恰相反
    4. 链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作

    三、如何选择

    1. 如果频繁在尾部操作,ArrayList和LinkedList都可以
    2. 如果频繁在任意位置添加、删除操作,选LinkedList
    3. 如果频繁随机查询操作,选ArrayList

    相关文章

      网友评论

          本文标题:ArrayList和LinkedList,用哪个?不再纠结了

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