arraylist和array在内存分配和调用、编译上的区别

区别主要有:1、数组的空间大小不同;2、储存内容不同。Array的长度在定义后是不可改变的,ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。

1、数组的空间大小不同

Array的长度在定义后是不可改变的,如果这时候我们需要在数组中添加其他的元素的时候,就必须要新建一个数组且数组长度比原数组长度多一,然后再把数组中的内容复制到新数组中,最后再根据下标添加需要的内容。

ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。并且,每次添加新数组的时候都会自动检查数组中的空间是否足够

2、储存内容不同

Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。

需要注意的一点是,Array在储存时,只能储存同一种数据类型,如果定义的是整数类数组,那么这个数组中就只能存储整数。而ArrayListZ在存储整数数据类型的时候,会吧整数变成Object。

延伸阅读:

什么是array?

数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。

数组是用于储存多个相同类型数据的集合。

文章标题:arraylist和array在内存分配和调用、编译上的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38865

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月20日 上午12:31
下一篇 2023年2月20日 上午12:34

相关推荐

  • 研发项目全生命周期管理

    研发项目全生命周期管理指横跨项目构思、规划、执行、监控、结束各阶段的全面过程。其中涵盖确立目标、资源分配、风险评估、关键结果指标(KPI)的监控和改进。1、成功实施项目全生命周期管理关键在于持续的监控与优化流程;2、确保每个阶段的目标与总体战略相符;3、充分利用技术工具以增强效率和沟通。 本文将着重…

    2024年1月10日
    36600
  • 较好的PHP框架是什么

    较好的PHP框架有:1、Yii;2、CodeIgniter;3、CakePHP;4、PHPDevShell;5、Akelos;6、Symfony;7、Prado;8、Zend;9、ZooP;10、QPHP。Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编…

    2023年1月27日
    55400
  • C语言中scanf函数什么时候停止读入(遇到什么)

    一般来说遇到了空格,回车或者是EOF都会停止进行读入,特别是空格,在输入的时候不要随意加入空格,否则输入的东西就不是你想要的了。在遇到EOF时停止,windows命令行中按ctrl+z,linux命令行中ctrl+d即为EOF。如果从文件读取,文件结尾就是EOF。 C语言中scanf函数一般来说遇到…

    2023年2月23日
    1.5K00
  • 如何管理自动扣费项目服务费

    如何管理自动扣费项目服务费?这是许多企业和个人在进行服务交易时遇到的共同问题。有效管理自动扣费项目服务费的关键在于:建立明确的通信渠道、维护透明度、确保合同条款清晰、使用专业的自动扣费管理工具、定期审查费用。其中,使用专业的自动扣费管理工具尤其重要,因为这能大大提高管理效率,减少错误和遗漏,同时确保…

    2024年4月11日
    5800
  • 数据库安全基线是什么

    数据库安全基线是一组最低的安全要求,用于保护数据库免受攻击和滥用。它通常包括一系列的安全措施,如身份验证、授权、审计、加密等。数据库安全基线的目的是提供一个标准,用于评估和改进数据库的安全性。 一、定义 数据库安全基线是一组最低的安全要求,用于保护数据库免受攻击和滥用。它通常包括一系列的安全措施,如…

    2023年7月29日
    80000
  • vscode下载为什么那么慢

    VSCode下载慢可能的原因有:网络限制、下载服务器的带宽瓶颈、用户所在地区访问服务器的物理距离以及高峰期的访问量过大。特别是对于网络限制方面,一些地区对国外服务器的访问可能受到限制或速度较慢,这使得从官方渠道下载VSCode变得异常缓慢。但是,有一些解决方法可以尝试改善下载速度。 一、选择合适的下…

    2024年4月3日
    7700
  • 什么是主权区块链

    主权区块链是以分布式账本为基础,以规则和共识为核心,以国家主权为前提的区块链。2020年7月,大数据战略重点实验室全国科学技术名词审定委员会研究基地收集审定的名列前茅批108条大数据新词,报全国科学技术名词审定委员会批准,准予向社会发布试用。 主权区块链(sovereignty blockchain…

    2023年1月27日
    59300
  • sql中为什么select要放在from之前

    因为这就是sql语法的规则。这就跟C系语言在函数声明里把返回值写在函数名之前一样,为了让返回内容更加受关注。int add(int a, int b);要是按照数据的流动方向,把函数声明的返回值放后面,那就会得到Pascal系语法。 这就跟C系语言在函数声明里把返回值写在函数名之前一样,为了让返回内…

    2023年2月23日
    32500
  • 如何管理项目中外包团队

    项目管理是一个复杂且需要精细操作的过程,尤其是涉及到外包团队时。有效管理外包团队的关键策略包括明确的沟通、设定清晰目标、建立信任、及时监控进度、以及采用合适的技术工具。明确的沟通在这些元素中起着至关重要的作用。良好的沟通不仅能确保信息的准确传达,还能促进团队间的合作和信任。通过定期举行会议、使用高效…

    2024年4月10日
    7500
  • springboot 和springMVC有什么区别

    区别有:1、含义不同;2、配置不同;3、依赖项不同;4、开发时间不同;5、生产力不同;6、实现JAR打包功能的方式不同;7、是否提供批处理功能;8、作用不同;9、社区和文档支持不同;10、是否需要部署描述符。SpringBoot是自动化配置的工具。SpringMVC是web框架。 1、含义不同 sp…

    2023年2月13日
    57600

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部