Lesson 19 +10 XP

Multi-Dimensional Arrays

Multi-Dimensional Arrays

A multi-dimensional array is an array of arrays. It is useful for grids and tables.

Declaring a 2D array

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

This holds two inner arrays:

RowValues
01, 2, 3, 4
15, 6, 7

Accessing elements

The first index picks the row, the second picks the column:

System.out.println(myNumbers[1][2]); // 7

Changing an element

myNumbers[1][2] = 9;

Loop through a 2D array

Use nested loops:

for (int i = 0; i < myNumbers.length; i++) {
  for (int j = 0; j < myNumbers[i].length; j++) {
    System.out.println(myNumbers[i][j]);
  }
}

Or use for each for both levels:

for (int[] row : myNumbers) {
  for (int number : row) {
    System.out.println(number);
  }
}

TL;DR

  • A 2D array is an array of arrays.
  • Use two indexes: row then column.
  • Nested loops read all the values.
  • Rows can have different lengths.