Arrays
Two-dimensional arrays
Jagged
How to work with jagged arrays
- A jagged array is a two-dimensional array whose rows have different numbers of columns.
- When you create a jagged array, you specify the number of rows in the array, but you leave the size of each column array unspecified and set it later.
The syntax for creating a jagged array
type[][] arrayName = new type[rowCount][];
Code that creates a jagged array of integers
int[][] triangleArray = new int[5][]; triangleArray[0] = {1, 2, 3, 4, 5}; triangleArray[1] = {2, 3, 4, 5}; triangleArray[2] = {3, 4, 5}; triangleArray[3] = {4, 5}; triangleArray[4] = {5}; int[][] triangleArray = { {1, 2, 3, 4, 5}, {2, 3, 4, 5}, {3, 4, 5}, {4, 5}, {5} };
triangleArray.length is 5 triangleArray[0].length is 5 triangleArray[1].length is 4 triangleArray[2].length is 3 triangleArray[3].length is 2 triangleArray[4].length is 1
Code that creates and initializes a jagged array of strings
String[][] titles = {{"War and Peace", "Wuthering Heights", "1984"}, {"Casablanca", "Wizard of Oz", "Star Wars", "Birdy"}, {"Blue Suede Shoes", "Yellow Submarine"}};
Code that creates and initializes a jagged array of integers
int number = 0; int[][] pyramid = new int[4][]; for (int i = 0; i < pyramid.length; i++) { pyramid[i] = new int[i+1]; for (int j = 0; j < pyramid[i].length; j++) pyramid[i][j] = number++; }
Code that prints the contents of the jagged array of integers
for (int i = 0; i < pyramid.length; i++) { for (int j = 0; j < pyramid[i].length; j++) System.out.print(pyramid[i][j] + " "); System.out.print("\n"); }
The console output
0 1 2 3 4 5 6 7 8 9
Code that uses foreach loops to print a jagged array
for (int[] row : pyramid) { for (int col : row) System.out.print(col + " "); System.out.print("\n"); }