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

  • 单反镜头焦距怎么选(单反镜头焦距)(单反镜头的焦距怎么算)

    单反镜头焦距怎么选(单反镜头焦距)(单反镜头的焦距怎么算)

  • 软件包括哪几部分(1、 软件包括哪几部分?)

    软件包括哪几部分(1、 软件包括哪几部分?)

  • 微信聊天记录怎么彻底删除(微信聊天记录怎么导出来成文件)

    微信聊天记录怎么彻底删除(微信聊天记录怎么导出来成文件)

  • 腾讯课堂直播后,几天可以看回放(腾讯课堂看直播时对方听到讲话吗)

    腾讯课堂直播后,几天可以看回放(腾讯课堂看直播时对方听到讲话吗)

  • 抖音里面有没有扫一扫(抖音里面有没有诈骗的东西)

    抖音里面有没有扫一扫(抖音里面有没有诈骗的东西)

  • 华为怎么清除打开页面(华为怎么清除打字法记忆设置)

    华为怎么清除打开页面(华为怎么清除打字法记忆设置)

  • 摄像头模糊了怎么清洁(摄像头模糊了怎么清洁,微信扫不出来)

    摄像头模糊了怎么清洁(摄像头模糊了怎么清洁,微信扫不出来)

  • outlook邮件分类技巧(outlook邮件分类规则)

    outlook邮件分类技巧(outlook邮件分类规则)

  • 红包超过24小时未领取,对方能看到金额吗(红包超过24小时未领,是退回吗)

    红包超过24小时未领取,对方能看到金额吗(红包超过24小时未领,是退回吗)

  • 小爱同学可以连接电脑当音响吗(小爱同学可以连接几个手机)

    小爱同学可以连接电脑当音响吗(小爱同学可以连接几个手机)

  • 机顶盒不通电怎么回事(机顶盒电源不通电坏了怎么维修?)

    机顶盒不通电怎么回事(机顶盒电源不通电坏了怎么维修?)

  • 抖音隐性风险什么意思(抖音隐形风险)

    抖音隐性风险什么意思(抖音隐形风险)

  • 手机qq上传照片怎么才能不显示动态(手机qq上传照片怎么全选照片呢)

    手机qq上传照片怎么才能不显示动态(手机qq上传照片怎么全选照片呢)

  • iphone11长按关机键不能关机(iphone11长按关机键出现siri)

    iphone11长按关机键不能关机(iphone11长按关机键出现siri)

  • 升降摄像头手机有几款(升降摄像头手机为什么不出了)

    升降摄像头手机有几款(升降摄像头手机为什么不出了)

  • 不小心卸载了声卡驱动(不小心卸载声卡驱动怎么安装)

    不小心卸载了声卡驱动(不小心卸载声卡驱动怎么安装)

  • 发送朋友验证是什么意思(发送朋友验证是对方把你删了吗)

    发送朋友验证是什么意思(发送朋友验证是对方把你删了吗)

  • b类ip地址子网掩码(b类ip地址子网掩码20位)

    b类ip地址子网掩码(b类ip地址子网掩码20位)

  • vsco注册了就收费吗(vsco注册账号)

    vsco注册了就收费吗(vsco注册账号)

  • xr128g是4g运存吗(xr128g内存够用吗)

    xr128g是4g运存吗(xr128g内存够用吗)

  • boe8耳机怎么连接(boe82.0耳机连怎么接app)

    boe8耳机怎么连接(boe82.0耳机连怎么接app)

  • 华为充电接口类型(华为充电接口是)

    华为充电接口类型(华为充电接口是)

  • CAJ转换成Word方法是什么(caj文件怎么转换成word文档怎么改)

    CAJ转换成Word方法是什么(caj文件怎么转换成word文档怎么改)

  • 图表样式在哪设置(图表样式在哪里)

    图表样式在哪设置(图表样式在哪里)

  • 关于MacOS系统使用Goland等ide debug失败的问题(macos使用技巧)

    关于MacOS系统使用Goland等ide debug失败的问题(macos使用技巧)

  • 360sd.exe是什么进程 360sd.exe可以删除吗(360devm.sys是什么文件)

    360sd.exe是什么进程 360sd.exe可以删除吗(360devm.sys是什么文件)

  • 浙江增值税专用发票几个点
  • 发票未到暂估账务处理
  • 留抵税额账上比申报表多
  • 可变现净值与公允价值孰低
  • 填仓2021
  • 代办汽车过户手续
  • 计算产品当月生产成本
  • 运输费用和保险费用会计分录
  • 固定资产抵扣新政策2022
  • 预缴工程税的帐务处理如何做?
  • 年末结转本年利润是在结转损益前还是后
  • 付款金额比发票金额少怎么办
  • 无形资产摊销的年限规定
  • 制造费用属于成本类还是损益类
  • 代收房款
  • 个税手续费返还会计分录
  • 营改增后建筑行业税率
  • 电子汇票如何背书步骤
  • 补缴员工社保银行怎么查
  • 公司将自有车辆对外出租
  • 银行授信额度如何分配
  • 运费结转成本的计算公式
  • 待抵扣进项税额是二级还是三级
  • 差旅费的会计处理
  • 租赁合同法律风险
  • 清算中无法偿还的债务
  • 固定资产的财务处理方法
  • win7系统怎么操作
  • 坏坏狼故事绘本
  • 押金少退侵犯了哪条法律
  • 公司用车车祸一般谁负责
  • linux系统中怎么创建目录
  • 如何申请公积金装修房子
  • 夏威夷火山国家公园
  • 全资子公司取得注册证可以免临床
  • 免税怎么开
  • 应税消费品属于什么科目
  • 商业汇票抵付前欠货款的分录
  • thinkphp框架怎么用
  • vscode搭建vue开发环境
  • flex布局实战
  • cifar10图像分类实验报告
  • webpack打包步骤
  • tf-idf计算
  • vue+element-ui项目
  • 事业单位一级项目和二级项目区别
  • 因质量原因退货和召回的产品,均应按照规定
  • 房地产企业年报数据
  • 车补贴是要缴纳增值税吗
  • 预付账款需要做预算凭证吗
  • 固定资产折旧方法和计算公式
  • 原始凭证的基本内容有会计分录吗
  • 减免进项税的分录怎么做
  • 厂房监理要点
  • 已经发出的商品替换零部件进成本还是费用
  • 如果对装修费用有异议怎么办
  • 小企业会计准则没有以前年度损益调整科目
  • 保险费的增值税属于什么税
  • mysql全部语法
  • win10音量调节不显示
  • centos 7 安装vnc
  • centos 任务计划
  • windows命令行修改密码
  • linux 下MySQL服务器的启动与停止
  • win8 boot manager
  • 双系统怎么转移文件
  • windows7调节音量
  • linux虚拟空间
  • cssimage
  • kmp算法代码完整实现
  • javascript学习指南
  • python二叉树
  • jquery增删改查方法
  • android 图片裁剪 任意形状
  • 房产证加名字需要哪些手续和费用
  • 征管基础平台app
  • 重庆地方税务局2016年2号
  • 税务筹划企业所得税案例分析题
  • 汽车票用什么查
  • 新一轮税制改革的背景是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设