تعریف آرایه
از آرایه برای نگهداشتن تعداد متناهی از متغیر های هم نوع استفاده میکنیم. که بهشون عنصر (element) یا عضو میگیم.
فرض کنید داخل برنامه به 7 تا متغیر از نوع یکسان احتیاج دارید؛ باید مثل زیر برای هر مقدار یک متغیر تعریف کنید:
این کار ممکنه وقت گیر باشه و کد های برنامه رو زیاد کنه؛ مخصوصا زمانی که تعداد متغیر ها بالاست.
میتونیم از ارایه برای راحت تر کردن کار استفاده کنیم:
همینطور که می بینید دیگه نیاز به تعریف 7 تا متغیر نداریم بلکه هر 7 متغیر رو داخل متغیری به اسم آرایه قرار دادیم، اصطلاحا میگیم یک آرایه به طول 7 ایجاد کردیم.
وقتی میگیم آرایه به طول n؛ شما n تا خونه کنار همو درنظر بگیرید که هر خونه میزبان یک متغیر است. به متغیر های آرایه عناصر آرایه میگیم.
در زیر ساختار یک آرایه به طول 7 رو به تصویر کشیدیم:

جایگاه هر عنصر ثابته مثلا وقتی عدد 1 رو به خونه ی شماره 5 اختصاص دادیم تا وقتی مقدار خونه شماره 5 رو تغییر نداده باشیم این خونه میزبان مقدار 1 است.
طول یک ارایه عموما ثابت و تغییر ناپذیره یعنی وقتی یک آرایه به طول n ایجاد میکنیم n تا خونه ایجاد میشه و تعداد خونه ها نه میتونن کم بشن و نه زیاد.
طول یک آرایه در کاتلین رو با size بدست میاریم:
با اینکه طول یک آرایه ثابته اما متغیر های هر خونه میتونن تغییر کنن:
روش های ایجاد آرایه در کاتلین
به یک آرایه، آرایه یک بعدی گفته میشه.
ارایه ها در کاتلین رو به دو روش کلی میشه ایجاد کرد:
۱- با استفاده از توابع arrayOf، arrayOfNulls و emptyArray
۲- با ایجاد آبجکت از کلاس Array
ایجاد آرایه با تابع arrayOf
پارامتر تابع arrayOf در کاتلین از نوع vararg است.
تابعو صدا میزنیم و متغیر ها رو به صورت پارامتر به داخل تابع پاس میدیم. طول آرایه برابر میشه با تعداد عناصر های پارامتر.
فرم کلی:
در بالا t0 تا tn متغیر هایی از جنس T هستند که به تابع پاس داده شدن.
مثال
در زیر یک آرایه از نوع String با طول 4 ایجاد کردیم.
ایجاد آرایه با تابع arrayOfNulls
تابع arrayOfNulls در کاتلین یک آرایه به طول n و با عناصر null ایجاد میکنه.
مقدار طول آرایه رو به صورت پارامتر به تابع پاس میدیم.
فرم کلی
در بالا n یک عدد از نوع Int است که طول ارایه رو مشخص میکنه.
مثال
در زیر یک آرایه به طول 100 و از نوع Double با عناصر null ایجاد کردیم:
ایجاد آرایه با استفاده از تابع emptyArray
با استفاده از این تابع یک آرایه با طول 0 ایجاد میکنیم.
توجه:
با استفاده از += میشه یک آرایه جدید از قبلی با طول بیشتر ایجاد کرد، در مجموع این کار بیهوده است. چون Collection ها برای حذف و اضافه ی عناصر وجود دارن.
مثال
یک آرایه String به طول 0 تعریف میکنیم و با افزودن یک مقدار به آرایه طولش 1 میشه:
ایجاد آرایه با استفاده از کلاس Array
در این روش با ایجاد یک نمونه (آبجکت) از کلاس Array در کاتلین میتونیم یک آرایه ایجاد کنیم.
فرم کلی
در بالا تابع constructor کلاس Array تابع مرتبه ی بالا است. n طول آرایه از نوع Int است، T نوع متغیر های آرایه، index شماره ی هر خونه که نوعش Int و t مقدار اختصاص داده شده به خونه ی شماره ی index است.
مثال
یک آرایه به طول 20 ایجاد میکنیم که در صورت زوج بودن شماره خونه ی آرایه مقدار زوج و در صورت فرد بودنش مقدار فرد رو به صورت String بهش اختصاص بده.
مثال
یک آرایه به طول 30 تعریف میکنیم و اگه شماره ی هر خونه عدد اول بود مقدار اون شماره رو به خونه ی مورد نظر اختصاص میدیم و بقیه رو 0 میزاریم.
صدا زدن عناصر داخل آرایه
برای استفاده از آرایه داخل حلقه ها به قسمت حلقه هامراجعه کنید.
برای صدا زدن متغیر های داخل آرایه مانند زیر عمل میکنیم:
توابع رایج در آرایه
تابع isEmpty
این تابع معلوم میکنه یک آرایه خالی است یا خیر.
تابع shuffle
این تابع جایگاه عناصر داخل آرایه رو با همدیگه عوض میکنه اصطلاحا عناصر داخل آرایه رو قاطی پاتی میکنه.
مثال
تابع contentEquals
تایع contentEquals در کاتلین یک تابع infix است.
اگه تمام اعضای دو آرایه باهم یکسان باشن مقدار true و اگه یکسان نباشن false رو بر میگردونه.
مثال
توابع toList و toSet
تابع toList برای تبدیل آرایه به List و تابع toSet برای تبدیل آرایه به Set به کار برده میشه.
مثال
آرایه های دو بعدی
عناصر یک آرایه خود میتونن آرایه باشن.
خود آرایه متغیر است بنابراین میتونیم یک یا چند آرایه رو داخل یک آرایه قرار بدیم.
مثال
مثال
چاپ فاصله ی بین پنج شهر اراک، قم، همدان، تهران و شیراز به صورت دو بعدی.
در بالا printf یک متد (تابع) جاواست.
مثال
آرایه های چند بعدی
در آرایه دو بعدی اگه عناصر آرایه های داخل آرایه اول نیز یک آرایه باشن آرایه سه بعدی میشه.
مثال
ایجاد و چاپ یک ارایه سه بعدی از اعداد تصادفی در کاتلین.
خلاصه
آرایه ها برای نگهداری تعداد متناهی از متغیر های یک نوع به کار میروند.
به متغیر های داخل آرایه عنصر یا عضو میگیم.
آرایه در کاتلین رو به دو روش میشه ایجاد کرد، با استفاده از توابع یا با استفاده از کلاس آرایه.
با استفاده از توابع arrayOf، arrayOfNulls، emptyArray در کاتلین میتونیم یک آرایه ایجاد کنیم.
تابع constructor کلاس Array یک تابع مرتبه بالاست.
برای تعریف توابع چند بعدی کافیه اعضای آرایه خود یک آرایه باشن