数据结构(数组)的特点以及优缺点

数据结构(数组)的特点以及优缺点

数组这种数据结构是我们在java开发中非常常见的。所以借用这篇文章来分析数组的特点以及他的优缺点。

特点一
数组的读取和更改数据的效率是所有数据据结构中最高的。

数组为什么是数据结构中读取和更改中的效率最高?
本人认为有以下几点

**数组中每个元素都有他自己的内存地址与下标索引,而且每个元素在空间的占用都是相等的(因为都是同类型的数据)。而且数组在内存中是以连续的形态出现。
在这里插入图片描述
在我们随机读取,查看,修改的时候,java虚拟机就会通过我们提供的下标来经过公式来计算出此下标对应的内存地址。
从而直接通过内存地址来指向对应的元素。这就是数组查询修改数据效率高的原因。

数组的缺点 数组不适合进行大量数据的存储。
** 因为数组在内存中很难找到连续且大的内存空间 **
在这里插入图片描述
缺点三 数组的随机删除和插入的效率低
因为数组进行任意索引的删除和插入时,索引后面的元素都会发生集体左移或右移的行为(最大索引对应的元素除外)

缺点 四 数组的空间大小固定没办法扩容
数组的空间是提前定义好的,如果想进行数组扩容的话,只能调用 System.arraycopy(); 向定义好的大数组进行拷贝
而解决这个问题的方法就是使用链表。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值