java中ArrayList集合怎么扩容
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要讲解了"java中ArrayList集合怎么扩容",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java中ArrayList集合怎么扩容"吧
千家信息网最后更新 2025年12月01日java中ArrayList集合怎么扩容
这篇文章主要讲解了"java中ArrayList集合怎么扩容",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java中ArrayList集合怎么扩容"吧!
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中ArrayList集合怎么扩容这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
方法
就是
数据
第一次
参数
大小
学习
元素
内容
容器
容量
验证
下标
两个
之间
从属性
作用
变量
属性
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库技术工程师要求
十七网络技术有限公司
浙江聚塑互联网科技有限公司
描述我软件开发项目贡献
常州网络安全工程师
宾馆没有制定网络安全制度行吗
广德智能软件开发服务品质保障
蓝思网络技术待遇评价
页面向数据库插入数据php
增强网络安全意识作文
苹果系统 软件开发
剑三技能数据库
关于网络安全教育的调查报告
乾盟网络技术有限公司怎么样
昌平区网络营销网络技术诚信服务
查看服务器主机名和端口号
厂家网络安全期
网络安全审计备案证明啥意思
易语言 控件外部数据库
怎么搭建云服务器腾讯
亚马逊服务器怎么做
实况数据库战队联赛怎么打
数据库ap和tp什么意思
电脑当服务器方法
IBM服务器默认管理密码
武装突袭3服务器选枪
G网络技术员
0基础安卓软件开发培训
软件开发过程中的版本
软件开发基础能力