INTRO:
- Click ARRAY to learn about that.
- A 2D array is an array of one-dimensional arrays.
- 2D array is a collection of data cells.
- 2D array is stored in the form of rows and columns and is represented in the form of a matrix.
- We can access it by row index and column index (like an Excel File).
![](https://rajiilearning.wordpress.com/wp-content/uploads/2021/11/image-61.png?w=551)
SYNTAX:
dataType [][] arrayName = new dataType[rowSize][columnSize];
2D ARRAY DECLARATION:
int[][] a = new int[4][2]; //4 rows & 2 columns
String[][] name = new String[5][3]; // 5 rows & 3 columns
int[][] wrong = new int[][]; // not OK, must specify row
int[][] right = new int[2][]; // OK
- We must specify first dimension (row_size).
TOTAL ELEMENT:
- The total number of elements in this 2-D array is:
number_of_rows * number_of_columns
LAYOUT OF THE ARRAY:
int[ ][ ] a = new int[3][3];
![](https://rajiilearning.wordpress.com/wp-content/uploads/2021/11/image-62.png?w=801)
2D ARRAY INITIALIZATION:
Approach 1:
public static void main(String[] args)
{
//Array initialization
int arr[][] = {{ 1, 2, 3 },{ 4, 5, 6 },{ 7, 8, 9 }};
//Array display
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
Approach 2:
public static void main(String[] args) {
//Array Initialization
int arr[ ][ ] = new int[3][3];
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
arr[2][0] = 7;
arr[2][1] = 8;
arr[2][2] = 9;
//Array Display
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
Approach 3:
public static void main(String[] args) {
int arr[ ][ ] = new int[3][3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
arr[i][j]=i+1; //Array Initialization
System.out.print(arr[i][j] + " "); //Display
}
System.out.println();
}
}
Approach 1 & 2 output:
1 2 3
4 5 6
7 8 9
Approach 3 output:
1 1 1
2 2 2
3 3 3
LENGTH OF THE 2D ARRAY = NUMBER OF ROWS
int array1[][] = new int [5][6];
int array2[][] = new int [3][0];
int array3[][] = new int [0][];
int array4[][] = { {1,2,3,4}, {5,6} };
int array5[][] = { {100}, {10,20,30}, {1,2,3} };
System.out.println("Array1 length: " + array1.length);
System.out.println("Array2 length: " + array2.length);
System.out.println("Array3 length: " + array3.length);
System.out.println("Array4 length: " + array4.length);
System.out.println("Array5 length: " + array5.length);
Output:
Array1 length: 5
Array2 length: 3
Array3 length: 0
Array4 length: 2
Array5 length: 3
NOTE:
- Must provide row size in array declaration.
- Row size can be zero.
- Column size may or may not mention in array declaration.
- Row & column size must be positive integer.
array_name.length //returns row length
array_name[0].length //returns column length
Ex 1: Find row & column length
int array1[][] = new int [5][6];
int array2[][] = new int [3][0];
int array3[][] = new int [1][1];
int array4[][] = { {1,2,3,4}, {5,6} };
int array5[][] = { {100}, {10,20,30}, {1,2,3,5,6,8,9}
System.out.println("Array1 row length: " + array1.length);
System.out.println("Array1 column length: " + array1[0].length);
System.out.println("Array2 row length: " + array2.length);
System.out.println("Array2 column length: " + array2[0].length);
System.out.println("Array3 row length: " + array3.length);
System.out.println("Array3 column length: " + array3[0].length);
System.out.println("Array4 row length: " + array4.length);
System.out.println("Array4 column1 length: " + array4[0].length);
System.out.println("Array4 column2 length: " + array4[1].length);
System.out.println("Array5 row length: " + array5.length);
System.out.println("Array5 column1 length: " + array5[0].length);
System.out.println("Array5 column2 length: " + array5[1].length);
System.out.println("Array5 column3 length: " + array5[2].length);
OUTPUT:
Array1 row length: 5
Array1 column length: 6
Array2 row length: 3
Array2 column length: 0
Array3 row length: 1
Array3 column length: 1
Array4 row length: 2
Array4 column1 length: 4
Array4 column2 length: 2
Array5 row length: 3
Array5 column1 length: 1
Array5 column2 length: 3
Array5 column3 length: 7
BASIC PROGRAMS IN 2D ARRAY:
Ex 1: Basic Addition between two arrays
public class Practice {
public static void main(String[] args)
{
int array1[][] = { {10,22,33,44}, {11,20,40,5} };
int array2[][] = { {9,12,3,4}, {17,28,49,50} };
int sumArray[][] = new int[2][4];
int rows, columns;
for(rows=0;rows<array1.length;rows++)
{
for(columns=0;columns<array1[0].length;columns++)
{
sumArray[rows][columns] = array1[rows][columns] + array2[rows][columns];
}
}
System.out.println("Sum values");
for(rows=0;rows<array1.length;rows++)
{
for(columns=0;columns<array1[0].length;columns++)
{
System.out.print(sumArray[rows][columns] + " ");
}
System.out.println();
}
}
}
Output:
Sum values
19 34 36 48
28 48 89 55