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

  • 支付宝捐蛋是什么意思(支付宝捐蛋真的能帮助人吗)

    支付宝捐蛋是什么意思(支付宝捐蛋真的能帮助人吗)

  • 抖音微信登录授权失败(抖音微信登录授权在哪里设置)

    抖音微信登录授权失败(抖音微信登录授权在哪里设置)

  • pcie1x是什么插口(pcie1x接口接什么)

    pcie1x是什么插口(pcie1x接口接什么)

  • 硬盘wdc是固态吗(wd固态硬盘是什么牌子)

    硬盘wdc是固态吗(wd固态硬盘是什么牌子)

  • 华为nova7前置摄像头有点模糊(华为nova7前置摄像头用不了)

    华为nova7前置摄像头有点模糊(华为nova7前置摄像头用不了)

  • 华为手机设备锁在哪(华为手机设备锁定怎么解除)

    华为手机设备锁在哪(华为手机设备锁定怎么解除)

  • 关联的qq怎么让对方不显示消息(关联qq怎么让对方看不到消息)

    关联的qq怎么让对方不显示消息(关联qq怎么让对方看不到消息)

  • 4g独显和8g独显的区别(4g和4g独显)

    4g独显和8g独显的区别(4g和4g独显)

  • ipad全国联保多久(ipad全国联保的一定是正品吗)

    ipad全国联保多久(ipad全国联保的一定是正品吗)

  • 开始选项卡里面有什么(开始选项卡里面没有图标)

    开始选项卡里面有什么(开始选项卡里面没有图标)

  • 怎么使用微信扫码支付(怎么使用微信扫一扫登录王者荣耀)

    怎么使用微信扫码支付(怎么使用微信扫一扫登录王者荣耀)

  • 拼多多退款单号在哪里(拼多多退款单号哪里填)

    拼多多退款单号在哪里(拼多多退款单号哪里填)

  • 自己快手作品怎么置顶(自己快手作品怎么看不到浏览记录)

    自己快手作品怎么置顶(自己快手作品怎么看不到浏览记录)

  • 小度在家怎么下载软件(小度在家怎么下载微信)

    小度在家怎么下载软件(小度在家怎么下载微信)

  • 三星s10可以录屏吗(三星s10录屏功能在哪里设置)

    三星s10可以录屏吗(三星s10录屏功能在哪里设置)

  • cpf网络安全大赛是什么(网络安全大赛ctf成员)

    cpf网络安全大赛是什么(网络安全大赛ctf成员)

  • 网易云音乐倍速在哪里(电脑网易云音乐倍速)

    网易云音乐倍速在哪里(电脑网易云音乐倍速)

  • 电脑怎么玩(电脑怎么玩暗区突围)

    电脑怎么玩(电脑怎么玩暗区突围)

  • 手机不欠费为什么打不了电话(手机不欠费为什么提示已停机)

    手机不欠费为什么打不了电话(手机不欠费为什么提示已停机)

  • 苹果耳机不支持此配件(苹果耳机不支持降噪)

    苹果耳机不支持此配件(苹果耳机不支持降噪)

  • rasman.exe - rasman是什么进程 有什么作用

    rasman.exe - rasman是什么进程 有什么作用

  • 前端字数太多使用el-table设置show-overflow-tooltip显示不下,闪烁不显示(前端字符长度限制)

    前端字数太多使用el-table设置show-overflow-tooltip显示不下,闪烁不显示(前端字符长度限制)

  • 科大讯飞语音识别SDK的ROS包修改(科大讯飞语音识别主要产品)

    科大讯飞语音识别SDK的ROS包修改(科大讯飞语音识别主要产品)

  • 投资收回的现金
  • 公司的资本公积金可以用于弥补公司的亏损
  • 房地产企业拆迁补偿费契税12366
  • 2021年度全年一次性计税
  • 金税三期账号是自己申请吗
  • 固定资产清理期末可以有余额吗
  • 出售旧房及建筑物计算土地增值税
  • 支付税收罚款怎么算企业所得税
  • 逐步测试法计算内含报酬率
  • 权益资本成本率计算
  • 利息算增值税吗
  • 房地产开发企业会计科目
  • 营改增公告
  • 财会〔2017〕22号:《企业会计准则第14号收入》的通知
  • 旅游业开票问题总结二
  • 固定资产清理的借贷方向表示什么
  • 开专票需要哪些东西
  • 无票收入冲回会计分录
  • 企业用给客户送礼吗
  • 吸甲醛最好的植物是什么?
  • 固定资产转在建工程提折旧吗
  • 医疗机构医疗服务自查报告怎么写
  • thinkphp5开发教程
  • php数组函数实现机选双色球
  • deldir.exe是什么
  • 销售商品售后回购
  • win10不关机设置方法
  • 代扣代缴个人所得税怎么申报
  • vue适配pc
  • 蕨菜的功效与作用及营养价值
  • yii实现使用CUploadedFile上传文件的方法
  • 部门活动经费怎么算
  • sigmoid函数求导表达式
  • 银行贷款成本高
  • 基于骨骼关键点的动作识别
  • lvs安装配置
  • fold命令 限制文件列宽
  • 外汇核销是什么意思
  • 金蝶软件凭证修改怎么做
  • sqlserver2012无法新建表
  • 在建工程如何转固
  • 换出长期股权投资的会计处理
  • 福利费可以抵扣进项税
  • 应收票据周转率公式
  • 已付款未认证发票怎么做账
  • 酒店客人损坏物品不赔偿怎么报警
  • 企业清算期间发生的各项费用应计入以下什么科目
  • 免费品尝活动广告语
  • 服装、眼镜、鞋、西药的发票如何做账较好?
  • 空调维护保养费用谁出
  • 递延收益的会计核算
  • sql中的where in
  • VMWare linux mysql 5.7.13安装配置教程
  • windows没有无线网络
  • 电脑更新win10系统软件
  • win10的安装目录在哪
  • windows照片查看器在哪打开
  • ubuntu系统中文名字
  • console打开
  • linux挂载yum
  • linux修改服务器ip地址
  • 在linux操作系统中,/etc/rc.d/init.d
  • 如何删除win8系统
  • linux k
  • 常见的场景切换效果有哪些
  • 基于jquery实现可定制的web在线富文本编辑器附源码下载
  • nodejss
  • 安卓笔记软件squid使用方法
  • linux终端命令行和输出在一行
  • 防止重复调用接口
  • 基于android的简单程序
  • nodejs+ts
  • java对象怎么比较
  • js中substring和substr有区别吗
  • python3连接pg执行命令
  • 怎么在移动官网上复机
  • 安徽国家税务局网上办税平台
  • 中华人民共和国刑法
  • 福建 退休
  • 开展志愿服务关爱活动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设