前段时间项目需求需要用到二维数组,于是在网上搜索相关资料,经过一番查询后明白了二维数组是个什么东西。但是突觉关系性数据库表、数组以及现实中的“以点成面”都有相当大的联系,故此记录
个人认为关系性数据库表的组成以及各维数组的组成和以点成体十分相似:
生活中,多个点联络在一起构成线,多条线联络在一起构成面,而多个面联络在一起就构成了体。
关系性数据库表中的一行一列就可以看做一个点,一行里的多列联络在一起就构成了一行,一行即一线。许多行就又组成了一张表,表就可以看成一个面,自然而然的许多个表组合可以看成一个表集合,表集合就是一个体。
类似,普通数组里存储的单个数据可以看做一点,数组里多个单一数据在一起就构成了一个完整的数组,这个数组可以看成数据库表中的一行数据,而二维数组就可以看成一张表的数据,二维数组里面同样可以包含很多一维数组(即最常用的数组),而三维数组里又可以存储多个二维数组,同样的三维数组可以看成是一堆表的集合。
多维数组里面每一行里的列都必须保持一致,为了解决有时需求不一致的问题,又出现了锯齿数组,即行里面的列可以不一致。
补充:如json数据结构、数组结构、关系性数据库结构等都与现实里的以点成体一个道理,所谓开发源于现实,如是了。