اگر نمی دانید که چند آیتم قرار است در آرایه ذخیره شود، بهتر است از چیزی به نام ArrayList استفاده کنید. ArrayList یک ساختمان داده پویاست. به این معنا که آیتم ها می توانند به آن اضافه و یا از آن حذف شوند. آرایه معمولی در جاوا، یک ساختمان داده ایستا(static) است به این دلیل که شما محدود به اندازه درونی آرایه هستید.
برای ایجاد یک ArrayList، ابتدا باید بسته(package) آن را از کتابخانه java.util به منابع برنامه اضافه(import) کنید:
import java.util.ArrayList;
سپس می توانید یک شیئ(object) جدید از ArrayList بسازید:
ArrayList listTest = new ArrayList();
توجه کنید که این بار مانند آرایه های معمولی نیازی به براکت([]) ندارید. حالا که یک شیئ از ArrayList دارید می توانید با استفاده از متد add، به آسانی آیتم ها را به آن اضافه کنید:
listTest.add("first item"); listTest.add("second item"); listTest.add("third item"); listTest.add(7);
بین پرانتز روبروی add باید آنچه که می خواهید به ArrayList اضافه کنید را بنویسید. فقط می توان شیئ در تابع add اضافه کرد. سه آیتم اولی که در بالا به لیست اضافه کردیم، شیئ هایی از جنس رشته بودند. آیتم چهارم یک عدد است اما یک شیئ از نوع integer است و یک نوع داده int نیست. آیتم ها در لیست هر کدام یک شماره دارند که برای دسترسی به آن ها باید از آن شماره و متد get اضافه کرد:
listTest.get(3);
کد بالا آیتم با شماره ۳ در لیست را دریافت می کند. در لیست شماره آیتم ها از صفر شروع می شود یعنی اولین آیتمی که در لیست ذخیره می شود، شماره اش برار صفر خواهد بود. بنابر این کد بالا آیتم چهارم را که دارای شماره ۳ است برمی گرداند.
می توان از لیست آیتم ها را حذف کرد. این کار را می توان با متد remove انجام داد. هم می توان از شماره آیتم برای حذف آن استفاده کرد و هم می توان از مقدار آیتم برای حذف آن استفاده کرد:
listTest.remove(2);
یا:
listTest.get("third item");
دقت کنید که حذف یک آیتم از لیست باعث می شود که سایز لیست بازسازی شود. بنابر این باید هنگام دریافت یک آیتم با استفاده از متد get و شماره آیتم، مراقب باشید که به خطا بر نخورید. برای مثال، در کد بالا ما آیتم با شماره ۲ را حذف کردیم. پس از حذف این آیتم لیست باز سازی می شود و تعداد آیتم های آن به ۳ عدد می رسد. بنابر این دریافت آیتم با شماره ۳، شما را با خطا مواجه خواهد کرد زیرا پس از حذف آیتم، دیگر لیست ما فقط ۳ آیتم دارد و آیتم چهارمی وجود ندارد. بنابر این شما با خطا مواجه می شوید.
برای استفاده از امکانات بیشتر و تغییرات بهتر روی لیست ها می توان از کلاس Iterator استفاده کرد که در کتابخانه java.util یافت می شود:
import java.util.Iterator;
حالا می توانید یک شیئ این کلاس را به ArrayList خود متصل کنید تا با استفاده از آن شیئ کارهای مختلفی روی لیست خود انجام دهید:
Iterator it = listTest.iterator();
در کد بالا شما یک شیئ ایجاد کردید به نام it که با استفاده از آن می توانید کارهای مختلفی روی listTest انجام دهید. مهمترین ویژگی استفاده از iterator این است که استفاده از متد های ()next و ()hasNext آن بسیار در حلقه ها به کار شما می آید:
while (it.hasNext()){ System.out.println(it.next()); }
متد hasNext یک مقدار Boolean بر می گرداند که همانطور که می دانید یا true است یا false. مقدار آن false است هرگاه که به پایان لیست رسیده باشیم و دیگر آیتمی در لیست باقی نمانده است. متد next هم آیتم بعدی آیتمی که شمارنده روی آن است را به ما می دهد. برای امتحان کل چیز هایی که گفته شد کد زیر را در نظر بگیرید:
به قسمتی که کل لیست را چاپ می کند دقت کنید:
System.out.println("Whole list=" + listTest);
این کد به شما این امکان را می دهد که یک نگاه سریع به کل لیست خود بیندازید که البته خط چاپ شده در لیست های با تعداد آیتم زیاد طولانی خواهد بود.
بعد از اجرای کد پنجره خروجی به شکل زیر خواهد بود:
آرایه ها را فعلا همین جا رها می کنیم و در بخش بعد به بررسی بیشتر رشته ها می پردازیم.
سلام
مطالبتون خیلی به دردم خورد ممنون