不规则数组
本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 6 课,共 59 课。
锯齿数组是一种特殊的二维数组,其中每一行的列数都可以不同。换句话说,它是一个由数组组成的数组,每个“内部”数组的长度都可以不同。这与普通的二维数组不同,普通二维数组的所有行都有相同的列数,因此会形成矩形。
当你需要存储无法整齐地放入矩形网格中的数据时,锯齿数组就很有用。例如,你可以用锯齿数组存储段落中每个句子的单词,每个句子的单词数量都不同。
以下是在 Java 中声明并初始化锯齿数组的方法:
data_type[][] array_name = new data_type[number_of_rows][];
// 为每一行初始化不同数量的列
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ……以此类推请注意,首次声明数组时,你只需指定行数。然后,分别初始化每一行,并指定该行的列数。
挑战
简单创建一个名为 createJaggedArray 的方法,它接收一个整数 n 作为输入,并返回一个整数不规则数组。该不规则数组应具有以下结构:
- 第一行应有 1 个元素。
- 第二行应有 2 个元素。
- 第三行应有 3 个元素。
- 依此类推,直到第
n行,该行应有n个元素。
将数组中的每个元素初始化为其行索引与列索引的乘积(从 1 开始)。例如,第二行第一列的元素值应为 2 * 1 = 2。
亲手试试
// 只在类内部编写代码。不要编写 main(),也不要在类外编写任何代码。
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// 在这里编写代码
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器