数组:是用于存储多个相同类型数据的集合,是一种计算偏移量寻址的数组。
int [ ] arr={1,2,3};
//1.先将声明数组压栈arr
//2.在堆中分配内存空间
//3.申请三个连续的内存地址,并设置初始值为0
//4.然后执行{1,2,3}进行初始化,分别替换每个空间的值
//5.最后把栈中指向引用的地址
行式存储(强调的是数据间的关系,适用于面向对象)
优点:添加、删除一个事物的成本低 访问特定事物的各维度信息成本低
缺点:读取数据时,和搜索不想关的数据也会被检索出来
列式存储(强调不同事物的同一维度,适用于数据分析)
优点:查询时只涉及到的列会被读取 投影(映射)很高效 任何列都能作为索引(数据库)
缺点:选择完成时,被选择的列要重新组装 增加、删除数据时成本高
列存储是数组下标映射,一对一映射的实际应用,在数据分析和数据库索引中大量应用
锯齿数组
优势:快速的批量修改数据 充分利用空间碎片化分配空间 低成本扩容
注:锯齿数组是多个对象