美文网首页
java中ArrayList 和LinkList区别

java中ArrayList 和LinkList区别

作者: 小郭同學6 | 来源:发表于2020-03-16 18:17 被阅读0次

1.ArrayList

ArrayList是数组结构。默认大小10,容量不足时需动态扩容为原来的1.5倍

它的特别是查询快,增删慢。

物理上连续,空间上不连续

为什么会增删慢呢?

当add()的时候,ArrayList需要找到在数组中的index,插入进去。然后这个位置及之后的所有index都会整体往后移一位。

当remove()的时候,需要找到index,删除掉。然后这个位置之后所有的index整体往前移动一位。

所以速度相对来说比较慢。

当ArrayList数据全部删除的时候,是从最后一个元素开始向前删除 的。

2.LinkList

LinkList是双向链表结构。

它的特点是查询慢,增删快。

物理上不连续,空间上连续。

就像锁链一样。每个元素之间循环双向链表,互相指向。

需要从头遍历从而找到对应的数据,这样的结果就是查询起来速度较慢。

当增加或者删除的时候,只需要改变一下索引位置的元素的指针指向就可以。所以速度比较着ArrayList()就会快点。

  故对于顺序读写多的场景使用ArrayList

  对于中间增删多的场景使用LinkedList

相关文章

  • Android知识点汇总

    Java基础 谈谈 ArrayList 和 LinkList 的区别 ArrayList是实现了基于动态数组的数据...

  • java中ArrayList 和LinkList区别

    1.ArrayList ArrayList是数组结构。默认大小10,容量不足时需动态扩容为原来的1.5倍 它的特别...

  • java中ArrayList和LinkList的区别

    1.ArrayList底层是数组结构,LinkList底层是链表结构 数组查询具有索引,查询特定元素比较快,而插入...

  • Android:集合总结

    集合总结 ArrayList和LinkedList区别 ArrayList是动态数组,而Linklist是链表。A...

  • 2021-11记录

    电话面试1: (无准备) 问题1:ArrayList和LinkList的区别和底层实现 由于没准备,我都忘记区别了...

  • ArrayList和LinkList的区别

    一、ArrayList和LinkList的共同点 1、ArrayList和LinkList都实现了以下接口:jav...

  • ArrayList 和LinkList的区别

    一.ArrayList 底层维护的是一个Object数组,默认的元素个数为10,ArrayList的特点是增删慢查...

  • ArrayList和LinkList的区别

    ArrayList:是Array的数据结构,Array是动态数组,是对List接口的实现,他是数组队列,相当于动态...

  • LinkList与ArrayList

    1.LinkList java实现双向链表 2.ArrayList 3.HashSet

  • ArrayList、Vector和LinkList分析

    一、ArrayList 、LinkList和Vector查找和插入性能分析 ArrayList、Vector是实现...

网友评论

      本文标题:java中ArrayList 和LinkList区别

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