Ragged Arrays
In relatively unique circumstances1 you might want to make a "ragged array". That is, a multi-dimensional array where each array might be of a different size.
You can do this by making the number of elements in nested initializers be different
boolean[][] triangle = {
{ false },
{ false, false, false},
{ false, false, false, false, false },
{ false, false, false},
{ false }
}
Or by using arrays initialized with new
inside of an initializer.
boolean[][] triangle = {
new boolean[1],
new boolean[3],
new boolean[5],
new boolean[3],
new boolean[1]
};
Or even by omitting the trailing dimensions on when initializing with new and later filling in each row.
boolean[][] triangle = new boolean[5][];
triangle[0] = new boolean[1];
triangle[1] = new boolean[3];
triangle[2] = new boolean[5];
triangle[3] = new boolean[3];
triangle[4] = new boolean[1];
1
And if you are using a multi-dimensional array, you are already doing something interesting.