آموزش آرایه های چند بعدی در جاوا (به زبان کاملا ساده)
در جاوا ، می توانید آرایه ای از آرایه ها معروف به آرایه چند بعدی تعریف کنید. قبل از یادگیری آرایه چند بعدی ، برای آشنایی با آرایه یک بعدی از آموزش آرایه ها در جاوا دیدن کنید.
در آن آموزش ، یاد گرفتید که آرایه ای از انواع داده های اولیه (مانند: 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 به خودی خود یک آرایه است و طول هر سطر نیز متفاوت است.
بیایید برای اثبات آن برنامه ای بنویسیم.
- class MultidimensionalArray {
- public static void main(String[] args) {
- int[][] a = {
- {۱, ۲, ۳},
- {۴, ۵, ۶, ۹},
- {۷},
- };
- System.out.println(“Length of row 1: ” + a[0].length);
- System.out.println(“Length of row 2: ” + a[1].length);
- System.out.println(“Length of row 3: ” + a[2].length);
- }
- }
خروجی
Length of row 1: 3
Length of row 2: 4
Length of row 3: 1
از آنجا که هر مؤلفه یک آرایه چند بعدی نیز یک آرایه است ([a[0] ، a[1 و [a[2 نیز آرایه هستند) ، می توانید از ویژگی length برای پیدا کردن طول هر ردیف استفاده کنید.
مثال: تمام عناصر آرایه دو بعدی را با استفاده از حلقه چاپ کنید
- class MultidimensionalArray {
- public static void main(String[] args) {
- int[][] a = {
- {۱, -۲, ۳},
- {-۴, -۵, ۶, ۹},
- {۷},
- };
- for (int i = 0; i < a.length; ++i) {
- for(int j = 0; j < a[i].length; ++j) {
- System.out.println(a[i][j]);
- }
- }
- }
- }
خروجی
در هر زمان ممکن بهتر است از حلقه for … each استفاده کنید. می توانید همان کار را با استفاده از حلقه for … each انجام دهید:
- class MultidimensionalArray {
- public static void main(String[] args) {
- int[][] a = {
- {۱, -۲, ۳},
- {-۴, -۵, ۶, ۹},
- {۷},
- };
- for (int[] innerArray: a) {
- for(int data: innerArray) {
- System.out.println(data);
- }
- }
- }
- }
خروجی
۱
-۲
۳
جاوا، جاوا اسکریپت رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی عالی با توسعه وب، ماشین لرنینگ و ... کتابخانه های پیشرفته جاوا اسکریپت و ... دانلود:
-۴
-۵
۶
۹
۷
چگونه می توان یک آرایه سه بعدی را در جاوا مقدار دهی اولیه کرد؟
شما می توانید آرایه سه بعدی را به روش مشابه مانند یک آرایه ۲ بعدی مقدار دهی کنید. به مثال زیر دقت کنید:
// test is a 3d array
int[][][] test = {
{
{۱, -۲, ۳},
{۲, ۳, ۴}
},
{
{-۴, -۵, ۶, ۹},
{۱},
{۲, ۳}
}
};
در اصل ، آرایه سه بعدی آرایه ای از آرایه های دو بعدی است.
شبیه به آرایه های دو بعدی ، ردیف های آرایه های سه بعدی می توانند طول متفاوت داشته باشند.
مثال: برنامه ای برای چاپ عناصر آرایه سه بعدی با استفاده از حلقه
- class ThreeArray {
- public static void main(String[] args) {
- // test is a 3d array
- int[][][] test = {
- {
- {۱, -۲, ۳},
- {۲, ۳, ۴}
- },
- {
- {-۴, -۵, ۶, ۹},
- {۱},
- {۲, ۳}
- }
- };
- // 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);
- }
- }
- }
- }
- }
خروجی
۱
-۲
۳
۲
۳
۴
-۴
-۵
۶
۹
۱
۲
۳