AP计算机教程8-1:二维数组简介
Java的数组可以存储同一类型的许多数据。你甚至可以将数据存储在既有行也有列的二维数组(two-dimensional array)里。行代表表格中横向排布的元素,列代表表格中纵向排布的元素。下图的储物柜有三行六列。
对于本身以行列方式组织的数据,如电子表单、宾果游戏、象棋棋盘、影院座位、班级座位或数字图像,使用二维数组会非常方便。就国际象棋棋盘而言,字母代表行,从1开始的数字代表列。
数组的储存
很多编程语言本质上将二维数组储存为一维数组。典型的做法是先把第一行的所有数据储存在一块,紧接着的是第二行的所有数据、第三行的所有数据等等。这被称为row-major order。有些编程语言则先把第一列的所有数据储存在一块,紧接着的是第二列的所有数据、第三列的所有数据等等。这被称为column-major order。
事实上,Java将二维数组储存为数组的数组。外层数组的每个元素是每个内层数组的引用。下图展示了一个3行7列的二维数组。注意数组索引的有效范围是0
到length - 1
。
为了简化理解,AP计算机考试中假定二维数组同行元素储存在一起。外层数组索引被理解成行索引,而内层数组索引被理解成列索引。AP计算机假定所有的内层数组长度一致,虽然Java本身对此并无要求或限制。
0 条评论