آرایه ماتریکس / دو بعدی در جاوا چیست؟
"ماتریس مجموعه ای از اعداد است که در تعداد ثابتی از ردیف ها و ستون ها مرتب شده اند." معمولا این اعداد واقعی هستند. به طور کلی، ماتریس ها می توانند شامل اعداد مختلط باشند، اما برای سادگی، ما در اینجا فقط از اعداد کامل استفاده می کنیم. بیایید نگاهی به شکل ظاهری یک ماتریس بیندازیم. در اینجا نمونه ای از یک ماتریس با 4 سطر و 4 ستون آورده شده است.

یک آرایه دو بعدی را اعلام و راه اندازی کنید
در اینجا چند راه مختلف برای اعلام اندازه آرایه یا مقدار دهی اولیه بدون ذکر اندازه وجود دارد.
public class Matrices {
public static void main(String[] args) {
// declare & initialize 2D arrays for int and string
int[][] matrix1 = new int[2][2];
int matrix2[][] = new int[2][3];
//the size of matrix3 will be 4x4
int[][] matrix3 = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
String[][] matrix4 = new String[2][2];
//the size of matrix5 will be 2x3
// 3 cols because at max there are 3 columns
String[][] matrix5 = { { "a", "lion", "meo" },
{ "jaguar", "hunt" } };
}
}
پیمایش آرایه دو بعدی
همه ما می دانیم که چگونه در جاوا از آرایه های معمولی عبور کنیم. برای آرایه های دو بعدی هم سخت نیست. ما معمولاً از حلقه های تو در تو برای این کار استفاده می کنیم. برخی از مبتدیان ممکن است آن را به عنوان یک مفهوم بیگانه تصور کنند، اما به محض اینکه عمیق تر در آن کاوش کنید، می توانید با کمی تمرین آن را پیاده سازی کنید. به قطعه زیر نگاهی بیندازید. این فقط تعداد ستون های مربوط به هر ردیف را برای درک کامل شما نمایش می دهد.
public class MatrixTraversal {
public static void main(String[] args) {
int[][] matrix = new int[4][4];
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
System.out.print("row " + i + " : ");
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns # of columns corresponding to current row
System.out.print("col " + j + " ");
}
System.out.println();
}
}
}
خروجی
سطر صفر
چگونه یک آرایه دو بعدی را در جاوا چاپ کنیم؟
پس از اینکه با پیمایش آرایه دو بعدی آشنا شدید، به چند روش چاپ آرایه های دو بعدی در جاوا می پردازیم.استفاده از حلقه "for" تودرتو
این ابتدایی ترین راه برای چاپ ماتریس در جاوا است.
public class MatrixTraversal {
public static void printMatrix(int matrix[][])
{
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns number of columns corresponding to current row
// using tabs for equal spaces, looks better aligned
// matrix[i][j] will return each element placed at row ‘i',column 'j'
System.out.print( matrix[i][j] + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
خروجی
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15
استفاده از حلقه "for-each".
در اینجا روش دیگری برای چاپ آرایه های دو بعدی در جاوا با استفاده از " حلقه foreach " وجود دارد. این نوع خاصی از حلقه ارائه شده توسط جاوا است، که در آن ردیف int[] در هر ردیف در ماتریس حلقه میزند. در حالی که متغیر "عنصر" شامل هر عنصری است که در نمایه ستون از طریق سطر قرار می گیرد.
public class MatrixTraversal {
public static void printMatrix(int matrix[][]){
for (int [] row : matrix)
{
// traverses through number of rows
for (int element : row)
{
// 'element' has current element of row index
System.out.print( element + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
خروجی
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15
با استفاده از متد ()Arays.toString
متد Arrays.toString() در جاوا، هر پارامتر ارسال شده به آن را به صورت یک آرایه واحد تبدیل می کند و از متد داخلی خود برای چاپ آن استفاده می کند. ما یک آرایه 2 بعدی رشته ساختگی برای بازی ایجاد کرده ایم. همین روش برای آرایه های عدد صحیح نیز کار می کند. ما شما را تشویق می کنیم که آن را برای تمرین خود تمرین کنید.
import java.util.Arrays;
public class MatrixTraversal {
public static void printMatrix(String matrix[][]){
for (String[] row : matrix) {
// convert each row to a String before printing
System.out.println(Arrays.toString(row));
}
}
public static void main(String[] args) {
String [][] matrix = { { "Hi, I am Karen" },
{ "I'm new to Java"},
{ "I love swimming" },
{ "sometimes I play keyboard"} };
printMatrix(matrix);
}
}
خروجی
[سلام، من کارن هستم] [من تازه وارد جاوا هستم] [من عاشق شنا هستم] [گاهی اوقات صفحه کلید بازی می کنم]
GO TO FULL VERSION