位置: IT常识 - 正文

java中ArrayList集合的扩容机制(java arraytolist)

编辑:rootadmin

推荐整理分享java中ArrayList集合的扩容机制(java arraytolist),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:arraylist java,java arraylist sublist,java array list,java arraylist join,java array list,java中arraylist用法,java arraylist集合,java arraylist集合,内容如对您有帮助,希望把文章链接给更多的朋友!

java中ArrayList集合的扩容机制(java arraytolist)

710

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

publicbooleanadd(Ee){//验证是否需要扩容操作ensureCapacityInternal(size+1);//IncrementsmodCount!!//在对应的下标下添加值elementData[size++]=e;returntrue;

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

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

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

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

本文链接地址:https://www.jiuchutong.com/zhishi/303776.html 转载请保留说明!

上一篇:PHPCMS漏洞之文件poster.php(phpweb漏洞)

下一篇:Fishwife不是“鱼妻子”!真实含义让人颤抖!(frogfish躄鱼)

  • 读懂增值税
  • 应交税费的借贷方向
  • 政府的慰问金一般有多少钱
  • 收购发票能使用几次
  • 增值税16点税降到13点,补缴税款怎么算
  • 税控盘维护费要交吗
  • 应收账款平均占用资金的变动额
  • 债权如何变现
  • 企业收到个体户开的发票
  • 资产减值损失转回的账务处理
  • 服务业发票丢失怎么处理
  • 委托加工分装农药的委托人应当取得相应的
  • 充值卡充值发票可以报销吗
  • 银行属于个人吗
  • 现金存款账户
  • 固定资产评估是什么单位
  • 个人所得税申报方式选哪个比较好
  • 固定资产原值变更当月计提折旧
  • 会计里面红字冲销是什么意思
  • 存货相关的会计科目
  • 建筑工程预收款预缴增值税的时间
  • 事业单位购入车辆如何做账
  • 进口商品的关税计入入账价值吗
  • 交到公户上的钱,还没到账可以退回吗?
  • 汽车发票金额怎么算
  • 纳税能力体现的内容
  • 境外承包工程出口货物能否办理退税?
  • 财务报表申报错了怎么撤销
  • 个人所得税征收范围
  • 隐藏资源管理器里的cd驱动器
  • linux环境什么意思
  • 高新企业研发费用会计分录
  • 高新企业认定后研发费用比例
  • 油气勘探支出包括
  • 电力行业增值税率
  • php简单加密
  • 进货成本价是什么
  • 残保金所属期怎么写
  • 用chatgpt写insar地质灾害的论文,重复率只有1.8%,chatgpt4.0写论文不是梦
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • 试运行收入会计分录
  • 批量替换多个word文档的同一内容
  • 季度所得税资产总额填错了,会不会有影响
  • 长期待摊费用的摊销期限应该是
  • 资金收益率的计算
  • 小微企业免征增值税优惠政策
  • 上缴非税收入的税种
  • 个体工商户开具房屋租赁发票
  • 进项税额抵扣如何做账
  • 电子承兑背书了能撤回吗
  • 预付账款计提减值吗
  • 政府给的专款专用的补贴需要交税吗
  • 取得普通发票怎么做账
  • 其他应付为负数什么意思
  • 高价购买股权
  • 报销冲抵什么意思
  • 增值税相关的问题
  • 什么是挂靠?
  • 单位车辆保险费
  • 投资性房地产摊销从什么时候开始
  • 商业企业进货会计分录
  • 通过扣缴义务人申报和综合所得年度自行申报
  • windowsxp如何清理磁盘
  • Linux(CentOS)用split命令分割文件的方法
  • 进程aissca.exe
  • 如何提升windows版本
  • linux用户登录
  • 文件视图分为哪几种
  • python怎么编程
  • 浅谈jQuery中Ajax事件beforesend及各参数含义
  • unity learn premium
  • css 相对定位
  • bootstrap 树形菜单
  • javascript入门教程
  • js制作qq简易聊天框
  • 【Rayeager PX2分享】OpenCV入门之线段检测
  • 页面跳转后js还会执行吗
  • 陕西地税发票怎么重新打印
  • 微众银行企业金融客服电话多少
  • 印花税属于什么业务类型
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设