数组这种数据结构的优点和缺点以及特点
优点:查询/查找/检索其个下际上的元素时效事极高。可以说是查询效事最高的一个数据结构。
为什么检索效事高?
I第一:每一个元素的内存地址在空间存结上是连续的。
第二每一个元素类型相同,所以占用空间大小一样。
第三:知道第一个元素内存地址,知道每一个元素占用空间的大小,又知道下标,所以通过一个数学表达式就可以计算出某个下标上元素的内存地址。直接通过内存地址定位元素,所以数组的检索效事是最高的。
数组中存储100个元素,或者存结100万个元素,在元素查询/检索方面,效事是相同的。因为数组中元责查找的时候不会一个一个找,是通过数学表达式计算出来的。(算出一个内存地址,随接定位的。)
缺点:
第一:由于为了保证数组中每个元素的内存的加连续,所以在数组上随机制除或者增加元素的时候效事较低,因为随机增加元素会涉及到后面元素统一向前或者向后位移的操作。
第二:数组不能存能大数据量,为什么?
因为很难在内存空间上找到一块特别大的连续的内存空间。
数组的特点:
1、数组的长度是固定的(一旦被创建,其大小就是不可以改变的)
2、数组元素必须是相同类型的,不允许出现混合类型
3、数组中的元素可以是任何数据类型,包括基本类型和引用类型
4、数组变量属于引用类型,数据也可以看成是对象,数组中的每个元素相当于该对象的成员变量
数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的