ArrayList 是 Java 中常用的动态数组实现,在存储元素时,可能需要进行扩容操作以适应新增的元素。ArrayList 的底层原理中,扩容是一个重要的概念。当 ArrayList 中的元素数量达到当前容量的阈值时,就会触发扩容操作。
在 JDK 1.8 中,ArrayList 的扩容策略如下:每当添加一个元素时,会检查当前元素数量是否达到容量的阈值。阈值的计算基于一个公式,通常是当前容量乘以一个增长因子(默认为 1.5),得到的结果就是新的阈值。如果当前元素数量达到了阈值,ArrayList 就会创建一个新的更大容量的数组,并将旧数组中的元素逐个复制到新数组中。这个过程确保了 ArrayList 的容量能够满足新增元素的需求。
在 JDK 11 中,ArrayList 的扩容策略得到了改进,引入了改进型动态数组。这种数据结构允许一次性添加多个元素,从而减少了扩容操作的频率。具体来说,当元素数量达到阈值时,ArrayList 会一次性将新增的元素添加到数组中,而不需要逐个复制。这种批量添加的方式大幅降低了数组复制的次数,从而提高了性能。
综合而言,不论是在 JDK 1.8 还是 JDK 11 中,ArrayList 的扩容操作都是在当前元素数量达到容量阈值时触发的。在 JDK 11 中,由于引入了改进型动态数组,扩容操作的性能得到了显著的提升。
猜你喜欢
点击排行



-
车间粉尘处理的好技巧 车间粉尘怎样处理
1、车间粉尘处理的好方法,车间粉尘由吸尘罩通过风管经风机的引力下进入脉冲布袋除尘器,在挡风板的作用下,气流向上流动,流降低,部分大颗粒粉尘由于惯性作用被分离出来落灰灰斗,细微的含尘气体进入中箱体滤袋的过滤净化,粉尘被阻留在滤袋的外表面,净化后的气体经滤袋口进入上体箱后高空排放,粉尘由经布袋除尘器的排灰阀排出。2、结合厂房面积及加工设备的实际需要风量,设计管路及分支管道,按设备扬尘的大小,来设计管道...
-
猫的天敌是什么动物 猫的天敌也是猫吗
1、猫的天敌是野狸子, 即丛林猫,为猫科猫属的动物。2、野狸子分布于亚洲(中西部)以及中国大陆的西藏、云南、山东、河北等地,多见于沿河、环湖边的芦苇或灌丛、海岸边森林、或具有高草的树林、田野。3、野狸子其实就是山猫,它的外形和猞猁很像,性情异常凶猛,虽然属于猫科,但是它连狗都是不怕的,所以山里的老人经常会说家猫被野狸子捉住之后就会乖乖的束手就擒,没想到猫最大的天敌竟然是另一种猫,虽然它们的种属并不...
-
大寒节气的彦语 大寒节气的彦语有哪些
小寒大寒,冷成冰团。小寒大寒寒得透,来年春天天暖和。小寒不寒,清明泥潭。小寒大寒不下雪,小暑大暑田开裂。大寒小寒,无风自寒。小寒大寒,滴水成冰。大寒不寒,春分不暖。小寒天气热,大寒冷莫说。小寒、大寒多南风,明年六月早台风。小寒不太冷,大寒三九天。大寒节气的彦语 大寒节气的彦语有哪些...
-
毛竹冬笋如何做笋干 毛竹冬笋做笋干步骤
1、将出土大概一30-50cm左右的毛竹冬笋从出土面截断,然后去皮。2、去皮然后洗干净。3、将笋洗干净后用刀将它剥开。4、用大火一直煮,要把笋全部都煮的软绵绵的,大概煮3-4个小时。5、煮软过后就将它捞起来然后用凉水泡一晚上。6、把它用袋子装起来平放,然后用很多大石头压一个多月将它压扁压干。7、压了一个多月后拿起来晒干,就成毛竹冬笋干了。毛竹冬笋怎样做笋干 毛竹冬笋做笋干次序...
-
异常是什么意思 异常是啥意思
1、异常,指非正常的;不同于平常的;非常。出自《后汉书·皇后纪上·光烈阴皇后》。2、异常是一个汉语词语,读音为yì cháng。3、反义词:正常。4、出处:《后汉书·皇后纪上·光烈阴皇后》:异常之事,非国休福。晋干宝《搜神记》卷十六:“(钟繇)尝数月不朝会,意性异常。异常是什么意思 异常是啥意思...