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

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

در آن آموزش ، یاد گرفتید که آرایه ای از انواع داده های اولیه (مانند: Double ، int و غیره) ، آرایه string و آرایه اشیاء ایجاد و استفاده کنید. همچنین می توان آرایه ای از آرایه ها ایجاد کرد. مثلا،

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

در اینجا a یک آرایه دو بعدی است و حداکثر ۱۲ تا عنصر از نوع عدد صحیح را نگه داری می کند.

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

دقت کنید که شروع آرایه از ۰ است نه ۱ .

می توانید آرایه سه بعدی هم تعریف کنید. به عنوان مثال:

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

در اینجا personalInfo یک آرایه ی سه بعدی است و حداکثر ۲۴ تا عنصر از نوع string را نگه داری می کند.

در جاوا ، اجزای یک آرایه چند بعدی نیز آرایه هستند.

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

تفاوت را در هنگام مقدار دهی اولیه مشاهده خواهید کرد.

چگونه یک آرایه ۲ بعدی را در جاوا مقدار دهی اولیه کنیم؟

در اینجا مثالی برای مقدار دهی اولیه آرایه ۲ بعدی در جاوا آورده شده است.

int[][] a = {

{۱, ۲, ۳},

{۴, ۵, ۶, ۹},

{۷},

};

همانطور که گفته شد ، هر مؤلفه آرایه a به خودی خود یک آرایه است و طول هر سطر نیز متفاوت است.

بیشتر بخوانید :   ویژگی های فیزیکی طلا

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

بیایید برای اثبات آن برنامه ای بنویسیم.

  1. class MultidimensionalArray {
  2. public static void main(String[] args) {
  3. int[][] a = {
  4. {۱, ۲, ۳},
  5. {۴, ۵, ۶, ۹},
  6. {۷},
  7. };
  8. System.out.println(“Length of row 1: ” + a[0].length);
  9. System.out.println(“Length of row 2: ” + a[1].length);
  10. System.out.println(“Length of row 3: ” + a[2].length);
  11. }
  12. }

خروجی

Length of row 1: 3

Length of row 2: 4

Length of row 3: 1

از آنجا که هر مؤلفه یک آرایه چند بعدی نیز یک آرایه است ([a[0] ، a[1 و [a[2 نیز آرایه هستند) ، می توانید از ویژگی length برای پیدا کردن طول هر ردیف استفاده کنید.

مثال: تمام عناصر آرایه دو بعدی را با استفاده از حلقه چاپ کنید

  1. class MultidimensionalArray {
  2. public static void main(String[] args) {
  3. int[][] a = {
  4. {۱, -۲, ۳},
  5. {-۴, -۵, ۶, ۹},
  6. {۷},
  7. };
  8. for (int i = 0; i < a.length; ++i) {
  9. for(int j = 0; j < a[i].length; ++j) {
  10. System.out.println(a[i][j]);
  11. }
  12. }
  13. }
  14. }

خروجی

در هر زمان ممکن بهتر است از حلقه for … each استفاده کنید. می توانید همان کار را با استفاده از حلقه for … each انجام دهید:

  1. class MultidimensionalArray {
  2. public static void main(String[] args) {
  3. int[][] a = {
  4. {۱, -۲, ۳},
  5. {-۴, -۵, ۶, ۹},
  6. {۷},
  7. };
  8. for (int[] innerArray: a) {
  9. for(int data: innerArray) {
  10. System.out.println(data);
  11. }
  12. }
  13. }
  14. }

خروجی

۱

۳

۶

۹

۷

چگونه می توان یک آرایه سه بعدی را در جاوا مقدار دهی اولیه کرد؟

شما می توانید آرایه سه بعدی را به روش مشابه مانند یک آرایه ۲ بعدی مقدار دهی کنید. به مثال زیر دقت کنید:

// test is a 3d array

int[][][] test = {

{

{۱, -۲, ۳},

{۲, ۳, ۴}

},

{

{-۴, -۵, ۶, ۹},

{۱},

{۲, ۳}

}

};

در اصل ، آرایه سه بعدی آرایه ای از آرایه های دو بعدی است.

بیشتر بخوانید :   تاریخچه و کیفیت الماس صورتی

شبیه به آرایه های دو بعدی ، ردیف های آرایه های سه بعدی می توانند طول متفاوت داشته باشند.

مثال: برنامه ای برای چاپ عناصر آرایه سه بعدی با استفاده از حلقه

  1. class ThreeArray {
  2. public static void main(String[] args) {
  3. // test is a 3d array
  4. int[][][] test = {
  5. {
  6. {۱, -۲, ۳},
  7. {۲, ۳, ۴}
  8. },
  9. {
  10. {-۴, -۵, ۶, ۹},
  11. {۱},
  12. {۲, ۳}
  13. }
  14. };
  15. // for..each loop to iterate through elements of 3d array
  16. for (int[][] array2D: test) {
  17. for (int[] array1D: array2D) {
  18. for(int item: array1D) {
  19. System.out.println(item);
  20. }
  21. }
  22. }
  23. }
  24. }

خروجی

۱

۳

۲

۳

۴

۶

۹

۱

۲

۳

ساسان سروشه

نوشته‌های مرتبط

دیدگاه‌ها

*
*