2D Arrays
2D array ek "array of arrays" hai — pehla index row batata hai, dusra column.
Isse grid-jaisa data store hota hai — jaise tic-tac-toe board, ya matrix.
int[][] grid = {
{1, 2, 3},
{4, 5, 6}
};
System.out.println(grid[1][2]); // 6 (row 1, col 2)Java mein 2D array actually "array of arrays" hai (na ki ek continuous grid, jaisa C mein hota hai) — isi wajah se har row ki length alag ho sakti hai — isse "jagged array" kehte hain (jaise ek triangle shape banti hai). Ye normal rectangular grid se zyada flexible hai, jab data naturally uneven ho (jaise ek class mein har student ke alag number of subjects).
int[][] jagged = new int[3][];
jagged[0] = new int[]{1};
jagged[1] = new int[]{1, 2};
jagged[2] = new int[]{1, 2, 3};2D array traverse karne ke do common tareeke: nested for loop (index ke saath, jab position bhi chahiye — jaise grid[i][j] modify karna), ya nested for-each (jab sirf values chahiye, simpler code, lekin index nahi milta).
for (int[] row : grid) {
for (int val : row) {
System.out.print(val + " ");
}
}Java 3D (int[][][]) ya usse zyada dimensions bhi support karta hai — "array of array of arrays". Practical use kam hota hai (mostly scientific computing, 3D grids/voxels), 2D hi sabse common hai real projects mein. Concept same rehta hai — bas ek aur level ki nesting.
2D arrays ka use hota hai: matrix operations (addition, multiplication — linear algebra), game boards (chess, tic-tac-toe — har cell ek position), image data (pixels rows/columns mein, har cell ek color value), aur spreadsheet-jaisa tabular data store karne ke liye jaha rows aur columns dono meaningful hon.