数组这种数据结构的优点和缺点以及特点
优点:查询/查找/检索其个下际上的元素时效事极高。可以说是查询效事最高的一个数据结构。
为什么检索效事高?
I第一:每一个元素的内存地址在空间存结上是连续的。
第二每一个元素类型相同,所以占用空间大小一样。
第三:知道第一个元素内存地址,知道每一个元素占用空间的大小,又知道下标,所以通过一个数学表达式就可以计算出某个下标上元素的内存地址。直接通过内存地址定位元素,所以数组的检索效事是最高的。
数组中存储100个元素,或者存结100万个元素,在元素查询/检索方面,效事是相同的。因为数组中元责查找的时候不会一个一个找,是通过数学表达式计算出来的。(算出一个内存地址,随接定位的。)
缺点:
第一:由于为了保证数组中每个元素的内存的加连续,所以在数组上随机制除或者增加元素的时候效事较低,因为随机增加元素会涉及到后面元素统一向前或者向后位移的操作。
第二:数组不能存能大数据量,为什么?
因为很难在内存空间上找到一块特别大的连续的内存空间。
数组的特点:
1、数组的长度是固定的(一旦被创建,其大小就是不可以改变的)
2、数组元素必须是相同类型的,不允许出现混合类型
3、数组中的元素可以是任何数据类型,包括基本类型和引用类型
4、数组变量属于引用类型,数据也可以看成是对象,数组中的每个元素相当于该对象的成员变量
数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通