当前位置:   article > 正文

java arraylist有顺序吗,ArrayList的add(顺序插入数据)

arraylist 插入 有序

大致步骤:

1.先将minCapacity=size+1,判断是否是第一次插入值,若elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA(即初始化ArrayList时未指定初始化大小,或者指定的大小为0)则将minCapacity替换为DEFAULT_CAPACITY,即10

2.判断是否需要扩容:判断minCapacity(只有给未初始化设定大小或设定为0的ArrayList第一次添加值时会是10,其余都是size+1)与elementData.length比较,若大于elementData.length,则进行扩容

3.扩容大小第一阶段判断:将elementData.length * 1.5与minCapacity比较取得最大值newCapacity

4.扩容大小第二阶段判断:若newCapacity大于MAX_ARRAY_SIZE,则判断minCapacity是否大于MAX_ARRAY_SIZE,

大于则newCapacity=Integer.MAX_VALUE,不然就newCapacity=MAX_ARRAY_SIZE

5.令elementData = Arrays.copyOf(elementData, newCapacity);

注:(MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8,Integer.MAX_VALUE=2<<31 -1)

6.设置elementData[size]的值为新插入的值,并将size++

结论:需要特别注意的是初始化ArrayList时未指定初始化大小或指定大小为0时,数组的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/752628
推荐阅读
相关标签
  

闽ICP备14008679号