数组的概念
数组是一种线性表的数据结构,它用一组连续的内存空间, 来存储一组具有相同类型的数据;
线性表的数据结构:数组中存储的数据有一个特点,存储的数据像一条线一样,前后两个元素有一种前驱后继的关系;
连续的存储空间:内存会被划分成N多个存储单元并编号,数组会使用连续的存储单元存储数据;
相同类型的数据: 数组当中存储的数据类型必须保持一致;
数组的特点
高效的随机访问:数组采用连续的存储空间,所以查询快;
低效的插入和删除:因为数组是连续的存储空间,所以它要保证元素的连续性,所以插入和删除时会频繁移动元素;
数组的删除
实际上是标记了需要删除的数据,并不是真正的搬移了数据,当数组没有更多空间存储数据时,再触发一次真正的删除操作;
数组的应用
容器类:底层采用数组进行读写,对数组的包装,如ArrayList;
ArrayList最大的优势在于把数组的细节操作封装起来,并且支持动态扩容,每次使用空间不够时,会自动扩容1.5倍大小;