آموزش برنامه نویسی جاوا
آموزش برنامه نویسی جاوا (بخش یازدهم: آموزش استفاده از Array List در جاوا)
در بخش های قبلی، وقتی یک آرایه را تعریف می کردیم، تعداد خانه های آن را نیز مشخص می نمودیم. ولی این سوال پیش می آید که اگر تعداد خانه های آرایه را به طور دقیق ندانیم چی کار کنیم؟
فرض کنید بخواهیم اسامی افرادی را در یک آرایه بریزیم. و یا حساب ها و تراکنش های مالی بانکی را در یک آرایه عددی وارد نماییم. اگر تعداد افراد را ندانیم باید چی کار کنیم؟ می دانیم که تعداد حساب ها و تراکنش های مالی یک بانک را هم نمی دانیم. یک راه اینست که یک آرایه با تعداد خانه های خیلی زیاد تعریف کنیم. ولی ممکن است تعداد از آن نیز فراتر رود. و یا این که تعداد خانه ها را به قدری بزرگ تعریف کنیم (در حد بی نهایت) . ولی مشکلی که به وجود می آید، اینست که فضای بسیار بزرگی را برای این آرایه هدر می دهیم!
پس چاره چیست؟ ممکن است بهتر باشد از چیزی به نام ArrayList استفاده کنید. یک ArrayList در واقع یک ساختار دینامیک داده می باشد، به این معنا که آیتم ها قابل حذف و اضافه از لیست می باشند.
یک array معمولی در جاوا یک ساختار استاتیک داده می باشد، زیرا شما اندازه ی اولیه ی array خود را دارید.
برای تنظیم یک ArrayList، ابتدا باید پوشه ای از java.util library وارد کنید:
import java.util.ArrayList;
برای تعریف آرایه، باید یک object از نوع ArrayList به برنامه معرفی کنید. در اینجا ما نام این آرایه را MyList معرفی کرده ایم.
ArrayList MyList = new ArrayList( );
توجه کنید که این بار نیازی به کروشه ندارید. زیرا در بخش های قبلی ، با استفاده از کروشه می توانسیم تعداد خانه های آرایه را مشخص نماییم.
پس هر وقت آبجکت ArrayList جدید داشته باشید، می توانید با متود add، عناصری به آن اضافه نمایید:
MyList.add("Gsm"); MyList.add("Developers"); MyList.add(".ir"); MyList.add("integer"); MyList.add(8); MyList.add("float"); MyList.add(5.2);
همان طور که می بینید در Array List بالا، ما با استفاده از آیتم add هم رشته String را به آرایه اضافه نموده ایم و هم متغیر عددی. این متغیر عددی از نوع صحیح و اعشار می تواند باشد. برای معرفی رشته آن را داخل “” قرار دادیم.
با استفاده از دستور زیر می توانید همانند آرایه به خانه ی مشخصی از Array List اشاره نمایید.
MyList.get(5);
دستور بالا به خانه 5ام از آرایه اشاره می کند. دقت نمایید که خانه اول آرایه از 0 شماره گذاری شده است.
پس اگر از دستور بالا خروجی بگیریم، باید آیتمی که در خط 5ام از کدهایی که در بالا برای add کردن آیتم، نوشته بودیم نمایش داده شود.
System.out.print(MyList.get(1));
دستور بالا خروجی Developers را چاپ می کند.
با استفاده از Remove نیز می توانید آیتمی را از Array List حذف نمایید.
به عنوان مثال دستور زیر رشته ی ” ir. ” را از آیتم های Array List حذف می کند.
MyList.remove(2);
دقت نمایید که پس از حذف یک آیتم بقیه آیتم ها یک شیفت می خورند. یعنی الان در خانه دوم از Array List بالا مقدار رشته ی “integer” است.
روش دیگری که برای حذف به کار می رود، استفاده از مقدار دقیق آیتم برای حذف است.
مثلا دستور زیر مقدار رشته ی “float” را از داخل Array Listی که ما ساختیم، حذف می کند.
MyList.remove("float");
برای نمایش کل آرایه می توانید با دستور زیر آن را در خروجی چاپ نمایید:
System.out.print(MyList);
دستور بالا خروجی زیر را به ما نشان می دهد:
[Gsm, Developers, .ir, integer, 8, float, 5.2]
برای نمایش تعداد خانه های Array List می توانید از size استفاده نمایید:
System.out.print(MyList.size());
دستور بالا برای آیتم هایی که قبلا add کرده بودیم یعنی [Gsm, Developers, .ir, integer, 8, float, 5.2] ، که تعداد 7 عدد هستند، خروجی 7 را نیز چاپ می کند.
برای آن که بدانید در Array List شما یک آیتمی وجود دارد یا خیر می توانید از contains استفاده کنید:
if(MyList.contains(8)) System.out.print("8 mojud bud");
برای پاک کردن کل آیتم های array list می توانید از آیتم clear استفاده نمایید:
MyList.clear();