با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. آرایه ها از دیرباز به عنوان یکی از بخش های اصلی و بسیار پرکاربرد زبان های برنامه نویسی محسوب می شوند. آرایه به شما اجازه می دهند تا مجموعه ای از داده های هم نوع را در یک ساختار سطری یا سطری و ستونی منظم ذخیره کنید. آرایه ها خود شامل انواع مختلفی برای ذخیره ی انواع داده های عددی، کاراکتری و رشته ای هستند. متدهای گسترده ای برای کار با آرایه ها و سلول های آرایه ها ارائه شده است. جاوا نیز به عنوان یک زبان برنامه نویسی جامع از انواع آرایه ها پشتیبانی می کند. در ادمه ی این بخش برای آشنایی با آرایه ها در جاوا و ایجاد آرایه ها در جاوا با ما همراه باشید.
1 2 3 | dataType[] arrayRefVar; . or dataType arrayRefVar[]; . |
هر دو روش کار می کند اما روش اول مناسب تر است.
مثال:
1 2 3 | double[] myList; // روش مناسب. or double myList[]; // روش نا مناسب. |
برای ایجاد هر نوعی از آرایه در جاوا از ساختار زیر استفاده کنید:
1 | arrayRefVar = new dataType[arraySize]; |
ساختار فوق شامل دو نکته است:
در ادامه به ساختار کاملتر ایجاد آرایه اشاره می کنیم:
1 | dataType[] arrayRefVar = new dataType[arraySize]; |
همچنین می توانید با ساختار زیر آرایه ای ایجاد کرده و مقادیر آرایه را نیز به آن نسبت دهید:
1 | dataType[] arrayRefVar = {value0, value1, ..., valuek}; |
دسترسی به عناصر آرایه از طریق شماره ی index انجما می شود.
شماره گذاری عناصر آرایه از ۰ شروع می شود.
مثال – ایجاد یک آرایه از نوع double به نام myList که شامل ۱۰ عنصر است:
1 | double[] myList = new double[10]; |
تصویر زیر ساختار آرایه ی myList را به همراه سلول ها و مقادیر آن را نشان می دهد.
همانطور که مشاهده می کنید آرایه حاوی ۱۰ سلول با شماره گذاری ۰ تا ۹ می باشد.
برای پیمایش آرایه ها و دسترسی به مقادیر بهترین گزینه استفاده از حلقه های تکرار، بخصوص حلقه های تکرار for یا foreach است.
چراکه تمام عناصر آرایه ها از یک نوع و یک اندازه ی شناخته شده هستند.
مثال- مثال زیر یک نمونه ی کامل از ایجاد ، مقدار دهی و پیمیایش آرایه ها را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // Print all the array elements for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } // Summing all elements double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("Total is " + total); // Finding the largest element double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; } System.out.println("Max is " + max); } } |
خروجی کد فوق بصورت زیر خواهد بود:
1 2 3 4 5 6 | 1.9 2.9 3.4 3.5 Total is 11.7 Max is 3.5 |
حلقه ی تکرار foreach شما را قادر می سازد تا آرایه ها را بدون استفاده از متغیر index بصورت پیوسته پیمایش کنید.
مثال – کد زیر تمام عناصر آرایه ی myList را پیمایش کرده و نمایش می دهد:
1 2 3 4 5 6 7 8 9 10 11 | public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // Print all the array elements for (double element: myList) { System.out.println(element); } } } |
خروجی کد فوق بصورت زیر خواهد بود:
1 2 3 4 | 1.9 2.9 3.4 3.5 |
همانطور که می توانید مقادیر توع اولیه را به آرایه ها ارسال کنید می توانید آرایه ها را نیز به متدها ارسال کنید.
مثال- متد زیر عناصر آرایه را در آرایه ی int نملیش می دهد:
1 2 3 4 5 | public static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } } |
شما می توانید عناصر آرایه را با استفاده از متد فراخوانی کنید.
مثال- فراخوانی متد printArray برای نمایش ۳, ۱, ۲, ۶, ۴, و ۲ :
1 | printArray(new int[]{3, 1, 2, 6, 4, 2}); |
می توان با استفاده از یک متد عناصر یک آرایه را بازیابی مرد.
مثال – متد زیر یک آرایه را که معکوس یک آرایه است بازگشت می دهد:
1 2 3 4 5 6 7 8 | public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; } |
کلاس java.util.Arrays شامل متدهای مختلف استاتیک برای مرتب سازی ، جستجو آرایه ها، مقایسه آرایه ها و پر کردن عناصر آرایه است.
این متدها به شرح جدول زیر است:
ردیف | متد و توضیحات آن |
---|---|
۱ | public static int binarySearch(Object[] a, Object key) آرایه ی مشخص شده را با استفاده از الگوریتم جستجوی باینری جستجو می کند. |
۲ | public static boolean equals(long[] a, long[] a2) این متد دو آرایه را از لحاظ طول، تعداد عناصر متناظر و نوع داده بررسی می کند که آیا برابرند یا خیر. |
۳ | public static void fill(int[] a, int val) مقدار int مشخص شده را به هر عنصر آرایه مشخص شده از ints اختصاص می دهد. |
۴ | public static void sort(Object[] a) آرایه اشیاء مشخص شده را به ترتیب صعودی طبق نظم طبیعی عناصر آن، مرتب می کند. |
همانطور که نوع داده ی اولیه در تمام زبان های برنامه نویسی از بخش های اصلی و پایه ی ساختار آن است. آرایه ها نیز یکی از بخش های اصلی تشکیلی دهنده ی ساختار برنامه نویسی هستند. از این روی مباحث این بخش را به آشنایی با آرایه ها در جاوا اختصاص دادیم.