John
John

Reputation: 391

Trouble understanding Multidimensional Arrays

So i am trying to understand multidimensional arrays a little better. So far, I understand there are 2 way to construct these arrays. One is

int[][] b = { { 1, 2 }, { 3, 4, 5 } };

The first array constructs row 0 with 2 columns ( column 0 and column 1). What i don't understand is why are these numbers chosen. Does it always have to be in numerical order, or do the numbers mean something more? If i were to create a new row would it start with 6? Would it just be better for me to construct it this way?

int[][] b = new int [2][];
b[0] = new int [2];
b[1] = new int [3]; 

Thanks for your help.

Upvotes: 1

Views: 249

Answers (3)

JB Nizet
JB Nizet

Reputation: 691695

First: there is no multi-dimensional arrays in Java. There are only arrays containing arrays. Arrays of arrays if you prefer.

int[][] b = { { 1, 2 }, { 3, 4, 5 } };

constructs an array containing 2 arrays of int. The first array contains the numbers 1 and 2, and the second contains the numbers 3, 4 and 5. These numbers could be anything you want. The line declares and populates the array at the same time.


int[][] b = new int [2][];
b[0] = new int [2];
b[1] = new int [3]; 

constructs an array of arrays of ints, containing two null elements. Then, the first element of the outer array is initialized with an array of 2 ints, and the second element of the outer array is initialized with an array of 3 ints. All the ints are initialized to their default value: 0.

Upvotes: 2

Kerhong
Kerhong

Reputation: 21

1, 2, 3, 4, and 5 are just data that got entered in this new array.

The array would look like this:

[
  [1, 2]
  [3, 4, 5]
]

so [0][0] = 1; [1][0] = 3, [1][2] = 5 etc

Those values are just chosen as example.

Upvotes: 2

duffymo
duffymo

Reputation: 308753

Those numbers are meant to be examples. You need not start your next row with "6" if it's not what your solution demands.

Either manner of construction is acceptable. You'd use the second one if you had to compute the values and didn't know them beforehand.

Upvotes: 3

Related Questions