ArrayList 和LinkList的区别
1个回答
展开全部
一.ArrayList 底层维护的是一个Object数组,默认的元素个数为10,ArrayList的特点是增删慢查询快
1.增加慢的原因:是因为在添加数据的时候,有可能会导致ArrayList底层维护的数组的元素个数不够用,这时候就会调用数组的grow方法进行扩容,而扩容的方法是创建一个新的数组,然后把老数组中的信息复制到新的数组当中,这个拷贝的过程很浪费时间和内存
2.删除慢的原因:因为删除某一个元素,会导致该元素后面的元素进行整体前移,也是一个拷贝的过程,这个拷贝过程非常的浪费时间
3.查询快的原因:ArrayList底层维护的是一个数组,可以通过数组的下标直接查询到数组中的内容,这种方式非常的快。
二.LinkList底层维护的是一个链表,所以LinkList的特点是增删快,查询慢
1.增删快的原因:因为LinkList底层维护的是一个链表,在增删的时候可以直接添加到要添加的位置或者直接删除要删除的部分,对其他部分没有影响,速度非常的快。
2.查询慢的原因:因为LinkList底层维护的是一个链表,查询的时候必须一个一个的进行查询,知道找到匹配的数据为止,这个过程非常的浪费时间。
1.增加慢的原因:是因为在添加数据的时候,有可能会导致ArrayList底层维护的数组的元素个数不够用,这时候就会调用数组的grow方法进行扩容,而扩容的方法是创建一个新的数组,然后把老数组中的信息复制到新的数组当中,这个拷贝的过程很浪费时间和内存
2.删除慢的原因:因为删除某一个元素,会导致该元素后面的元素进行整体前移,也是一个拷贝的过程,这个拷贝过程非常的浪费时间
3.查询快的原因:ArrayList底层维护的是一个数组,可以通过数组的下标直接查询到数组中的内容,这种方式非常的快。
二.LinkList底层维护的是一个链表,所以LinkList的特点是增删快,查询慢
1.增删快的原因:因为LinkList底层维护的是一个链表,在增删的时候可以直接添加到要添加的位置或者直接删除要删除的部分,对其他部分没有影响,速度非常的快。
2.查询慢的原因:因为LinkList底层维护的是一个链表,查询的时候必须一个一个的进行查询,知道找到匹配的数据为止,这个过程非常的浪费时间。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询