جاوا از ابتدا، بخش بیستم

آرایه های چند بعدی در جاوا

آرایه هایی که در بخش های قبل دیدیم، تنها یک ستون داده را نگه داری می کردند. اما شما می توانید آرایه هایی را ایجاد کنید که بیش از یک ستون داده را نگه داری کنند. به این آرایه ها، آرایه های چند بعدی می گوییم. برای مثال به صفحه گسترده ای(spreadsheet) با سطر و ستون را در نظر بگیرید. اگر شش سطر و پنج ستون داشته باشیم، صفحه گسترده ما می تواند ۳۰ عدد را در خود ذخیره کند. چیزی  شبیه زیر:

array_image_2D

یک آرایه چند بعدی را به صورت زیر ایجاد می کنیم:

int[][] aryNumbers = new int[6][5];

این آرایه ها به همان شیوه آرایه های معمولی ایجاد می شوند با این تفاوت که به جای یک جفت براکت باید از دو جفت براکت استفاده کنید. اولین جفت براکت برای سطر ها و دومین جفت براکت برای ستون هاست. در کد بالا به جاوا اعلام کردیم که می خواهیم یک آرایه ۲ بعدی با ۶ سطر و ۵ ستون ایجاد کنیم. برای نگه داری مقدار در این آرایه ها باید حواستان به سطر و ستون آن باشد. در کد زیر سطر اول در تصویر بالا را مقدار دهی می کنیم:

aryNumbers[0][0] = 10;
aryNumbers[0][1] = 12;
aryNumbers[0][2] = 43;
aryNumbers[0][3] = 11;
aryNumbers[0][4] = 22;

پس سطر اول سطر ۰ است. و ستون های آن از ۰ تا ۴ می شود که ۵ تاست. برای پر کردن سطر دوم نیز این کار را انجام می دهیم:

aryNumbers[1][0] = 20;
aryNumbers[1][1] = 45;
aryNumbers[1][2] = 56;
aryNumbers[1][3] = 1;
aryNumbers[1][4] = 33;

شماره ستون ها دوباره از ۰ تا ۴ و این بار شماره سطر برای تمامی عددها ۱ خواهد بود. برای دسترسی پیدا کردن به تمام خانه های آرایه باید از این تکنیک استفاده کرد که یک حلقه را درون حلقه دیگر استفاده کنیم. کد زیر را مشاهده کنید. این کد تمام خانه های یک آرایه دو بعدی را چاپ می کند. در این کد از ۲ حلقه for استفاده شده است که یکی درون دیگری است:

double_for_loop

اولین حلقه برای سطرهاست و دومین حلقه برای ستون ها. در اولین دور حلقه اول مقدار متغیر i، صفر(۰) خواهد بود. کد درون این حلقه، حلقه دیگری است که باید ستون ها را پیمایش کند و یک شمارنده j دارد، این حلقه در هر دور اجرای حلقه اول ۵ بار اجرا می شود یعنی این که پنج ستون مربوط به یک سطر را چاپ می کند. مثلا اینجا در ابتدا i که صفر است، j از ۰ شروع می کند و ابتدا ستون اول سطر اول چاپ می شود، سپس در دور دوم حلقه درونی، j برابر با ۱ خواهد شد و این بار ستون دوم سطر اول چاپ می شود و همین طور این عمل تکرار می شود تا تمام ستون های سطر اول چاپ شده و دور دوم حلقه ابتدایی شروع  می شود تا ستون های سطر بعدی چاپ شوند و به همین صورت تا پایان آرایه چاپ خواهد شد.

کد بالا بعد از اجرا شدن نتیجه زیر را در بر خواهد داشت:

double_for_loop_printed

در بخش بعد با ما همراه باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *