ArrayList集合的特点为什么是增删慢、查询快?

一、前言:

我们都知道ArrayList集合底层是数组结构,因为数组中每个元素是有索引存在,所以查询效率高,增删效率低。那为什么数组结构有索引查询效率就会高呢?而且ArrayList集合长度是可变的,数组一旦创建长度就不可变,那ArrayList集合底层是数组结构,它的底层原理又是如何执行的?

下面我们就带着这两个问题,通过分析ArrayList源码,了解其中的原理。

二、ArrayList集合增删慢:1、我们先来看一下ArrayList的底层源码
ArrayList集合的特点为什么是增删慢、查询快?
2、自动扩容原理

(1)ArrayList集合底层是数组结构,新增元素时先创建长度为0的Object数组。

(2)添加元素时,判断如果原数组中没有元素,则再创建长度为10的新数组。

(3)添加元素时,判断如果原数组中元素存满时,则再创建长度为原数组长度*1.5倍的新数组。即oldCapacity + (oldCapacity >> 1);最后再将老数组元素拷贝到新数组中。

3、结论

ArrayList在添加元素时有可能会导致集合自动扩容,ArrayList底层是数组结构,但数组长度是不可变的不支持动态扩容,此时ArrayList集合底层会创建出一个新的数组,长度为老数组的1.5倍,并将老数组的元素复制到新数组中。

ArrayList在删除元素时底层是将删除索引位置起到最后索引位置结束中所有的元素,一一向前复制一个索引位置,再将最后索引位置元素设置为null。

所以ArrayList在进行增删操作时,效率会很慢。

三、ArrayList集合查询快:1、我们先来看一下ArrayList的底层源码
ArrayList集合的特点为什么是增删慢、查询快?
2、结论

ArrayList在查询元素时底层是通过访问数组元素方式进行查询。

而数组只能存储同一类型的元素。并且声明一个数组时,会在内存中申请一块连续相邻的内存空间。当要通过索引访问数组元素时,可通过数组地址值和偏移量,直接计算出要查找元素的内存地址,所以数组支持通过索引直接访问元素,效率非常高。

举例分析:

ArrayList集合的特点为什么是增删慢、查询快?
四、总结:

通过上述分析,我们发现ArrayList集合底层是Object[]数组,所以ArrayList具有数组的查询速度快的优点以及增删速度慢的缺点。

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:ArrayList集合的特点为什么是增删慢、查询快? https://www.dachanpin.com/a/cyfx/11380.html

(0)
上一篇 2023-05-12 03:13:14
下一篇 2023-05-12 03:14:16

相关推荐

  • 创业公社:首推长青集训营 业内专家香山论道

      在2016年1月的全国科技工作会议上,科技部部长万钢曾表示,全国各类众创空间已超过2300家,在孵企业超过10万家,培育上市和挂牌企业600多家,吸纳就业人数超过180万人。目前,中国已在全球创新版图中占据新位势,成为全球重要的研发活动中心。   硅谷银行董事总经理陈青则为学员们介绍了中国科创企业的现状以及对2016年的展望。硅谷银行主要服务科技型企业,…

    创业分享 2023-06-04
    40
  • “彝针彝线”织好民族服饰创业梦

      彝族人苏涛是贵州省威宁彝族回族苗族自治县经济开发区小微企业创业园的一名创业者。   酷爱民族文化的他于2012年开始创业,把彝族服饰立为自己的创业方向。2013年8月,在当地政府优惠政策的扶持下,苏涛的创业团队入驻威宁县小微企业创业园,从最初只有4台缝纫机和5名工人的服饰小作坊发展成自主设计、生产原生态民族服饰的创意工坊。   苏涛说,他的努力就是为了“…

    创业分享 2023-05-18
    67
  • 云南新锐知商杨浩:创业艰难百战多

      “我要是有机会做企业,也不会差”,90年代中后期,乡镇企业家的一句玩笑话,让端了二十几年“铁饭碗”的杨浩萌生了创业的念头,并选择了近年来才兴起的蓝莓种植业,一步一步地走上成功之路。   此前,由汇桔网主办的2017知商服务中国行高峰论坛在云南昆明隆重举行,来自知识产权界、企业界、学术界、媒体界等大咖以及全国的800多名知商欢聚一堂,共襄知商盛事。汇桔网董…

    创业分享 2023-05-21
    65
  • 贵州省铜仁市五措并举推动高校毕业生就业创业

    贵州省铜仁市五措并举推动高校毕业生就业创业 新华网 2018.09.30 小 中 大 近年来,铜仁市不断强化人才激励机制,创新人才引进机制,营造高校毕业生创业就业环境,取得积极成效。 建立人才专场招聘机制。将就业服务关口前移,主动到各大高校举办毕业生就业专场招聘会,为企业和高校毕业生搭建相互选择的就业创业平台。今年来,全市举办各类专场招聘会60场次,参加招聘…

    创业分享 2023-05-15
    48
  • 以京东、腾讯、阿里为例深度分析创业者要如何避免痛失公司控制权

      开抢了!双11创业者优选服务!   摘要:需要提醒创始合伙人团队的是,创业初期往往是创始人之间的蜜月期,其他股东也可能基于对创始人的信任,会默许公司控制和决策由创始人主导,但随着公司的发展壮大,很容易发生利益冲突或者不一致的情形,这是考验一家初创公司的严峻时刻,往往决定创业公司的前途和命运。   全民热议的万科和汽车之家控制权之争,引起了创始人对控制权问…

    创业分享 2023-05-21
    76

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信