韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > java基础 > java中ArrayList集合的扩容机制

java中ArrayList集合的扩容机制

java ArrayList

头像

小妮浅浅

2021-08-28 09:41:115010浏览 · 0收藏 · 0评论

1、扩容要看添加方法,从属性中可以看出有一个DEFAULT_CAPACITY属性值10。

public boolean add(E e) {
    // 验证是否需要扩容操作
    ensureCapacityInternal(size + 1);  // Increments modCount!!
    // 在对应的下标下添加值
    elementData[size++] = e;
    return true;
}

2、刚刚进入ensureCapacityInternal(size+1)size是一个完整的变量。

标记了ArrayList的大小(包含的元素数),而此时没有元素的是ensureCapacityInternal(0+1)。

//1、进入这个方法
private void ensureCapacityInternal(int minCapacity) {
  //2、先调用calculateCapacity(elementData, minCapacity)、这个方法就是检查第一次添加数据、并返回默认的容器大小(就是10)
  // 4、就是执行这个方法ensureExplicitCapacity(10) // 为什么参数是10、就是因为这个方法calculateCapacity(elementData, minCapacity)做了操作。
  ensureExplicitCapacity(calculateCapacity(elementData, minCapacity));
}
//3、数组容量计算
private static int calculateCapacity(Object[] elementData, int minCapacity) {
  // 这个能处理就是第一次添加数据时为真
  if (elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {
    // 然后这个成立、这个方法是取参数1和参数2、两个数之间的值
    // DEFAULT_CAPACITY : 默认为10
    // minCapacity : 第一次添加数据为1
    // 所以10 和 1 、10大、最后将10返回出去
    return Math.max(DEFAULT_CAPACITY, minCapacity);
  }
  return minCapacity;
}
 
//5、确保显式容量
private void ensureExplicitCapacity(int minCapacity) {
  modCount++;
 
   // 6、做判断、
  // 第一次添加数据时 为 10-0 > 0 :第一次可以成立
  // 第二次添加数据时 为 2-10 > 0 :第二次可以不成立
  if (minCapacity - elementData.length > 0)
    //7、执行下面方法、这个方法的作用才是正真的实施扩容并确定首次扩容ArrayList容器大小的方法
    grow(minCapacity);//扩容
}

以上就是java中ArrayList集合的扩容机制,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

公交车上双乳被老汉揉搓玩下载| 禁忌1| 无人区6高清免费追剧软件介绍| 40岁女人如饥似渴最佳解决方法| 万能浏览器| 电影《满足2》完整版在线观看| 来吧儿子妈妈是纯还是混| 校长揉捏陈若雪的奶头| 大雷QQ弹弹摇晃| 《警花交换做爰》| 马配人的视频在线观看| 小俊在雪姨身上耕耘小说免费阅读 | 《温柔的大姐姐》动漫免费观看| 人野兽马狗猪大全| 双腿无力合拢红肿外翻男生原因 | Y31成色好的S31正品| 四叔一次又一次索取怎么读| 《漂亮的秘书HD》在线观看| 白天像教授晚上像野兽| 满18岁免费观看高清电视剧大全 | 男生困困进女生困困洞视频| 孤男寡女免费观看高清电视剧狂飙 | 《胯下之臣》金银花露原文| 主人~我错了请把它关掉歌词| 老公拿狗给我配| 《厨房韵母2》动漫下线了吗| 成人视频在线观看| 菠萝菠萝蜜在线观看免费版电视剧| 初中全封闭学校| 下面好湿~想要~深一点| 《你邻居的妻子》电视剧| 放荡少妇出轨小说| 伦理《禁忌12》| 来吧儿子妈妈是纯还是混| 胡桃用手抠出许多白色粘液咋办| 《熟妇的荡欲》免费看| 在线观看日本韩国电影电视剧| 东北老阿姨高清免费观看电视剧 | 叶子媚| 狗和人胶配方20分钟一| 黑料