Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Syntax for creating a two-dimensional array in Java

Consider:

int[][] multD = new int[5][]; multD[0] = new int[10]; 

Is this how you create a two-dimensional array with 5 rows and 10 columns?

I saw this code online, but the syntax didn't make sense.

like image 631
AppSensei Avatar asked Sep 01 '12 21:09

AppSensei


People also ask

How do you create a two-dimensional array in Java?

In order to create a two dimensional array in Java, we have to use the New operator as we shown below: Data_Type[][] Array_Name = new int[Row_Size][Column_Size]; If we observe the above two dimensional array code snippet, Row_Size: Number of Row elements an array can store.

Which is syntax for 2 dimensional array?

The syntax declaration of 2-D array is not much different from 1-D array. In 2-D array, to declare and access elements of a 2-D array we use 2 subscripts instead of 1. Syntax: datatype array_name[ROW][COL]; The total number of elements in a 2-D array is ROW*COL .

How do you create a 2D array?

To create an array use the new keyword, followed by a space, then the type, and then the number of rows in square brackets followed by the number of columns in square brackets, like this new int[numRows][numCols] . The number of elements in a 2D array is the number of rows times the number of columns.


2 Answers

Try the following:

int[][] multi = new int[5][10]; 

... which is a short hand for something like this:

int[][] multi = new int[5][]; multi[0] = new int[10]; multi[1] = new int[10]; multi[2] = new int[10]; multi[3] = new int[10]; multi[4] = new int[10]; 

Note that every element will be initialized to the default value for int, 0, so the above are also equivalent to:

int[][] multi = new int[][]{   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; 
like image 155
obataku Avatar answered Sep 20 '22 23:09

obataku


We can declare a two dimensional array and directly store elements at the time of its declaration as:

int marks[][]={{50,60,55,67,70},{62,65,70,70,81},{72,66,77,80,69}}; 

Here int represents integer type elements stored into the array and the array name is 'marks'. int is the datatype for all the elements represented inside the "{" and "}" braces because an array is a collection of elements having the same data type.

Coming back to our statement written above: each row of elements should be written inside the curly braces. The rows and the elements in each row should be separated by a commas.

Now observe the statement: you can get there are 3 rows and 5 columns, so the JVM creates 3 * 5 = 15 blocks of memory. These blocks can be individually referred ta as:

marks[0][0]  marks[0][1]  marks[0][2]  marks[0][3]  marks[0][4] marks[1][0]  marks[1][1]  marks[1][2]  marks[1][3]  marks[1][4] marks[2][0]  marks[2][1]  marks[2][2]  marks[2][3]  marks[2][4] 


NOTE:
If you want to store n elements then the array index starts from zero and ends at n-1. Another way of creating a two dimensional array is by declaring the array first and then allotting memory for it by using new operator.

int marks[][];           // declare marks array marks = new int[3][5];   // allocate memory for storing 15 elements 

By combining the above two we can write:

int marks[][] = new int[3][5]; 
like image 43
Indu Joshi Avatar answered Sep 23 '22 23:09

Indu Joshi