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

ارسال شده توسط: حسین درویشی Comments: 2

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

آرایه ها از یکی از مباحث مهم و پرکاربرد در زبان های برنامه نویسی هستند. آرایه ها می توانند لیستی از داده را در خود ذخیره کنند. آرایه ها در نوع های استاتیک و پویا وجود دارند و نوع دیگر آنها چند بعدی است که خود می تواند از یکی از نوع های استاتیک یا پویا باشد. آرایه ها در جاوا به دو شکل تک بعدی ، دو بعدی و چند بعدی می باشند. در این مقاله بیشتر در مورد آرایه چند بعدی در جاوا بحث خواهیم کرد.

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

قبل از پرداختن به موضوع چند بعدی بودن آرایه ها، ابتدا در مورد آرایه های دو بعدی در جاوا بحث خواهیم کرد.

هر آرایه دو بعدی از چند سطر و چند ستون مشخص یا نا مشخص تشکیل شده است. مشخصی یعنی چه؟ و نامشخص یعنی؟

مقصود از مشخص این است که تعداد سطر و ستون آرایه در موقع تعریف آرایه یا بعداً مشخص گردد.

مقصود از نامشخص این است که در موقع ساخت آرایه هیچ اطلاعی در مورد طول  آن نداریم و تعداد سطر و ستون ها در موقع برنامه نویسی متفاوت خواهد بود. یعنی تعداد سطر و ستون را مقادیر داخل آرایه مشخص خواهد کرد.

یک آرایۀ دو بعدی را بشکل زیر در نظر بگیرید:

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

تصویر بالا تعریف یک آرایه 3 در 4 را مشخص می کند. و طبق آن می توان فهمید که عدد اول از سمت چپ شماره سطر و عدد دوم شماره ستون است. در آرایه های تک بعدی فقط یک سطر داریم و دائم می توان به طول این آرایه اضافه کرد.

تعریف آرایه 3 در 4 در جاوا

int[][]myArray=new int[3][4];

برای مقدار دهی باید از روش زیر استفاده کنید:

        //عدد اول شماره سطر و عدد دوم شماره ستون در زیر توانستیم مقادیر سطر یک را بطور کلی پر کنیم
myArray[0][0]=0;
myArray[0][1]=1;
myArray[0][2]=2;
myArray[0][2]=2;

تعریف آرایه دو بعدی بدون تعیین تعداد سطر و ستون: جنس این آرایه را از نوع String تعریف کردیم.

        String[][]myArray=new String[][]{
{"0,0", "0,1", "0,2", "0,3"},
{"1,0", "1,1", "1,2", "1,3"},
{"2,0", "2,1", "2,3", "2,4"},
};

آرایه چند بعدی در java

یک آرایه ی چند بعدی ، یک آرایه از آرایه ها می باشد. هر عنصر از آرایه ی چند بعدی، خود یک آرایه است. برای مثال،

int[][] a = new int[3][4];

اینجا ما یک آرایه دو بعدی داریم که می تواند حداکثر تا 12 عنصر را در خود نگه دارد.

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

بیاید نمونه دیگری از آرایۀ چند بعدی را در نظر بگیریم. این بار آرایه ای سه بعدی خواهیم ساخت. برای مثال:

String[][][] data = new String[3][4][2];

در اینجا داده ها یک آرایه سه بعدی است که می تواند تا حداکثر 24 (3*4*2) عنصر را در خود نگه دارد.

چگونگی initialize کردن آرایه در جاوا

int[][] a = {
{1, 2, 3}, 
{4, 5, 6, 9}, 
{7}, 
};

همانطور ما می بینیم، هر عنصر از آرایه چند بعدی خود یک آرایه است. همچنین برخلاف C و ++C هر ردیف از آرایه چند بعدی می تواند طول های مختلفی داشته باشد.

آرایه سه بعدی در جاوا
int[][][] test = {
{
{1, -2, 3}, 
{2, 3, 4}
}, 
{ 
{-4, -5, 6, 9}, 
{1}, 
{2, 3}
} 
};
        String[][][][]myArray=new String[][][][]{};
myArray[0][0][0][0]="hossein";
myArray[0][0][0][1]="hossein";
myArray[0][0][0][2]="hossein";
}

پیمایش آرایه چند بعدی و دو بعدی

برای پیمایش آرایه ها در جاوا (چاپ کلیه عناصر آرایه) می توان از حلقه for و همچنین از foreach استفاده کرد من در مثال زیر از حلقه for استفاده خواهیم کرد.

       int[][][] test = {
{
{1, -2, 3}, 
{2, 3, 4}
}, 
{ 
{-4, -5, 6, 9}, 
{1}, 
{2, 3}
} 
};
// for..each loop to iterate through elements of 3d array
for (int[][] array2D: test) {
for (int[] array1D: array2D) {
for(int item: array1D) {
System.out.println(item);
}
}
}

خروجی

1
-2
3
2
3
4
-4
-5
6
9
1
2
3
برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

Comments (2)

  • milad پاسخ

    سلام وقتتون بخیر
    ممنون از مطلب خوبتون
    من میخوام توی اندرویدم آرایه ای 2 بعدی اما داینامیک تعریف کنم (البته تعداد سطرم دوتاست اما تعداد ستونها معلوم نیست) به هرحال من هم سطر هم ستون رو تعداد ندادم اما نمیشه؛ به این شکل(در پایین همین پیام) که گفتید هم تعریف کردم اما موقع مقداردهی خطای خارج از محدوده بودن اندیس رو میده
    String[][] myArray=new String[][]{};

    10 اردیبهشت 1399 at 4:37 ب.ظ
    • حسین درویشی پاسخ

      سلام
      لطفا با چت آنلاین ارتباط برقرار کنید تا مشکلتون رو دوستان حل کنند

      11 اردیبهشت 1399 at 11:08 ق.ظ

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

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