数组
概念 数组是一种 线性表数据结构 ,它用 一组连续的内存空间 ,来存储一组具有 相同类型的数据 。这里我们要抽取出三个跟数组相关的关键词:线性表,连续内存空间,相同数据类型;数组具有连续的内存空间,存储相同类型的数据,正式该特性使得数组具有一个特性:随机访问。但是有利有弊,这个特性虽然使得访问数组变得非常容易,但是也是的插入和删除操作会变得很低效,插入和删除数据后为了保证连续性,要做很多搬迁工作。 数组中元素的访问 我们拿一个长度为10的数组来举例,int [] arr = new int[10], 在下面的途中,计算机给数组分配了一块连续的空间,100-139,其中内存的起始地址为baseAddress = 100 我们知道,计算机给每个内存单元都分配了地址值,通过地址来访问其数据,因此要访问数组中的某个元素时,首先要经过一个寻址公式计算要访问的元素在内存中的地址。 a[i] = baseAddress + i * dataTypeSize 其中,baseAddress = 100,dataTypeSize代表数组中的元素类型大小,在这个例子中,存储的是int类型数据,因此dataTypeSize = 4个字节 数组下标为什么从0开始 数组下标为什么要从0开始而不是从1开始呢? 从数组存储的内存模型上来看,