Multi-Dimensional Arrays
Introduction
- This page assumes you are familar with one-dimensional arrays
- Java supports multi-dimensional arrays.
- A two-dimensional array can be thought of as an array of arrays.
- A 2D array is also known as a matrix.
- The size of the 2D array is specified by a height and width.
int[][] matrix = new int[4][3];
Produces a matrix with height of 4 and width of 3.
col0 | col1 | col2 | |
---|---|---|---|
row0 | 0 | 0 | 0 |
row1 | 0 | 0 | 0 |
row2 | 0 | 0 | 0 |
row3 | 0 | 0 | 0 |
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[3][1] = 9;
Modifies the matrix like this:
col0 | col1 | col2 | |
---|---|---|---|
row0 | 1 | 2 | 3 |
row1 | 0 | 0 | 0 |
row2 | 0 | 0 | 0 |
row3 | 0 | 9 | 0 |
We can get determine the height and width of a 2D array as follows.
final int height = matrix.length;
final int width = matrix[0].length;
Example
The following method finds the largest value in the matrix.
public static double max(double[][] matrix) {
double max = Double.MIN_VALUE;
for(int row = 0; row < matrix.length; row++) {
for(int col = 0; col < matrix[0].length; col++) {
max = Math.max(max, matrix[row][col]);
}
}
return max;
}