آرایه های چندبعدی (Multidimensional Arrays)
آرایه چندبعدی یعنی آرایه ای که داخلش آرایه است. مثل جدول مدرسه با سطر و ستون. بنابراین داده ها مرتب می نشینند و دسترسی ساده می شود.
تعریف و ساخت آرایه چندبعدی
برای آرایه دوبعدی، هر سطر را داخل آکولاد جدا بنویس.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} };
- سطر اول: {1, 4, 2}
- سطر دوم: {3, 6, 8}
دسترسی به عناصر
برای دسترسی، دو اندیس می خواهیم: اول سطر، بعد ستون. اندیس از صفر شروع می شود.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} };
System.out.println(myNumbers[1][2]);
// Outputs 8
در این یکی، مقدار سطر 0 و ستون 1 چاپ می شود.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} };
System.out.println(myNumbers[0][1]);
// Outputs 4
تغییر مقدار یک خانه
با همان دو اندیس، مقدار را بازنویسی کن.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8} };
myNumbers[1][2] = 9;
System.out.println(myNumbers[1][2]);
// Outputs 9 instead of 8
تعداد سطرها و ستون ها
با length تعداد سطرها را بگیر. سپس برای هر سطر، طول ستون هایش را بگیر.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8, 5, 2} };
System.out.println("Rows: " + myNumbers.length);
// 2
System.out.println("Cols in row 0: " + myNumbers[0].length);
// 3
System.out.println("Cols in row 1: " + myNumbers[1].length);
// 5
نکته: سطرها می توانند طول متفاوت داشته باشند. این در جاوا مجاز است.
چرخیدن داخل آرایه چندبعدی
یک حلقه for را داخل دیگری بگذار. سپس خانه ها را پیمایش کن.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8, 5, 2} };
for (int row = 0; row < myNumbers.length; row++) {
for (int col = 0; col < myNumbers[row].length; col++) {
System.out.println("myNumbers[" + row + "][" + col + "] = " + myNumbers[row][col]);
}
}
یا از حلقه foreach در هر دو سطح استفاده کن. خواناتر می شود.
int[][] myNumbers = { {1, 4, 2}, {3, 6, 8, 5, 2} };
for (int[] row : myNumbers) {
for (int num : row) {
System.out.println(num);
}
}
گام های عملی
- ساختار سطرها را با آکولاد بچین.
- با اندیس ها مقدار را بخوان یا عوض کن.
- با دو حلقه، همه خانه ها را پیمایش کن.
نکته: برای مرور پایه ها، صفحه آرایه ها را ببین. برای پیمایش ساده تر، سر بزن به حلقه روی آرایه. همچنین درباره حلقه های تو در تو مطالعه کن. این صفحه آرایه های چندبعدی هم مرجع سریع توست.
جمع بندی سریع
- آرایه چندبعدی شبیه جدول است.
- دسترسی با دو اندیس انجام می شود.
- طول سطرها می تواند متفاوت باشد.
- برای پیمایش، دو حلقه for کافی است.
- foreach کد را خواناتر می کند.