位置: 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躄鱼)

  • 减免增值税如何结转
  • 纳税会计的要素有
  • 嵌入式软件产品即征即退
  • 计提利息要计提手续费吗
  • 厂家返点是什么意思
  • 劳务公司交企业所得税吗
  • 出口赠送客户怎么处理
  • 餐费补贴要交个人所得税吗
  • 房地产企业融资存在的问题
  • 车量购置税申报流程是什么样的?
  • 公司车子的保养费怎么算
  • 担保费和评审费计入什么科目
  • 补交本年增值税计提
  • 认缴制下实缴资本流程
  • 发票开错导致不能按时入账该怎么处理呢?
  • 分配利润顺序
  • 抄税忘记了怎么办
  • 税控盘续费会计分录怎么做
  • 其他应收款怎么分析
  • 广告代理服务计入什么费用
  • 增值税进项大于销项月末需要结转吗
  • 一般纳税人收到专票怎么做分录
  • 投资性房地产后续支出包括
  • 金蝶现金流量表附表项目如何指定
  • 进项税额暂不转出情况说明怎么写
  • 怎样将u盘制作成电脑系统启动盘?
  • 对外投资收益要交税吗
  • 怎么更改定位位置信息
  • uc浏览器缓存视频删除了还占内存
  • 成本法转为权益法属于会计政策变更吗
  • 外贸企业代理出口销售的出口退税手续
  • linux操作系统安装包
  • vue调整图标大小
  • wordpress文章分页插件
  • php异常处理和错误处理
  • phpsessid是什么
  • 工程施工和工程结算科目
  • 建筑业预缴增值税
  • 发票网上平台勾选流程
  • cd oobe是什么命令
  • 自建自用 房产税
  • 母公司的资质怎样才能转给子公司
  • 工程主营业务收入
  • 公司盖厂房没有票要交税吗?
  • 织梦cms官网
  • php的默认网站目录是
  • 投标报名费怎么做分录
  • 生产企业出口自产应税消费品实行什么方法
  • 公账取现用途写什么
  • 成本核算的科目有哪些
  • 员工工作服扣款
  • 企业清算是怎么做账的
  • 去年城建税多计提了怎么办
  • 银行承兑汇票的特点
  • 汇算清缴怎么弥补亏损怎么操作
  • 固定资产拆除怎么处理
  • 手工凭证模板
  • 开办费账务处理实操案例
  • 利润分配未分配利润账务处理
  • 车间管理人员的福利费计入什么科目
  • 公司发放给员工的福利又要回
  • 支付工程款如何入账科目
  • mysql中decimal对应java类型
  • win7系统如何恢复桌面图标
  • xp系统无法启动怎么办
  • rhel7.5重置密码
  • unix系统采用什么结构
  • bios怎么恢复出厂设置教程
  • win8系统如何安装软件
  • win10用浏览器
  • windows7脚本编程和命令行指南
  • python批量下载文件
  • js选择框全选
  • android 侧滑页面
  • python黑魔法手册
  • 查找的算法有哪些
  • jquery 异步加载
  • 在androidstudio中,如何改变图片的位置
  • 广东税务社保缴费查询
  • 云南税收主要经济来源
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设