ArrayList
برخلاف آرایه های معمولی، ArrayList از بسته java.util یک آرایه به طور خودکار در حال گسترش است. وقتی یک شی از نوع ArrayList ایجاد می کنید، نیازی به ابعاد آن را مشخص کنید. مثلا،
ArrayList list = new ArrayList();
مزایا ArrayList در مقایسه با آرایه معمولی:
- دسترسی سریع به عناصر بر اساس شاخص در زمان ثابت
O(1) ؛
- دسترسی به عناصر بر اساس مقدار در زمان خطی
O(n) ؛
- به شما امکان می دهد هر مقداری از جمله
null را ذخیره کنید.
نقاط ضعف ArrayList :
درج/حذف عنصر باعث بازنویسی همه عناصر قرار داده شده "به سمت راست" می شود در لیست یک موقعیت به سمت چپ، یعنی در زمان خطی کار می کند O(n) ;
به یاد داشته باشید که لیست ها فقط می توانند شامل اشیاء باشند، بنابراین اگر می خواهید اعداد را ذخیره کنید به جای int از Integer استفاده کنید. Integer نام یک کلاس است و یک شیء از این کلاس می تواند دارای یک مقدار صحیح باشد. در اینجا میتوانید اطلاعات بیشتری درباره کلاسها و اشیاء بخوانید: مقدمهای بر برنامهنویسی شیگرا.
|
دو گزینه برای افزودن یک عنصر به ArrayList وجود دارد:
add(value); - افزودن یک مقدار به انتهای ArrayList
add(index, value); - اضافه کردن یک مقدار به مکان مناسب توسط فهرست.
به عنوان مثال:
ایجاد شد
arr.افزودن(10); span>
arr.افزودن(5،10);
|
برای دریافت مقدار یک عنصر از ArrayList، از روش get(index) استفاده کنید.
به عنوان مثال:
ایجاد شد
برای پیدا کردن تعداد عناصر در یک آرایه، میتوانید از متد size() استفاده کنید
به عنوان مثال:
ایجاد شد
int count = arr. اندازه();
|
برای تغییر مقدار بر اساس فهرست در فهرست، از name.set(index,value); استفاده کنید.
ایجاد شد
|
دو گزینه برای افزودن یک عنصر به ArrayList وجود دارد:
add(value); - افزودن یک مقدار به انتهای ArrayList
add(index, value); - اضافه کردن یک مقدار به مکان مناسب توسط فهرست.
به عنوان مثال:
ایجاد شد
arr.افزودن(10); span>
arr.افزودن(5،10);
|
شما می توانید عناصر موجود در ArrayList را با استفاده از روش remove به دو روش حذف کنید:
- با فهرست حذف(شاخص)
- براساس مقدار remove(value)
به عنوان مثال:
ایجاد شد
arr.حذف(0); span> //اولین عنصر را حذف می کند
arr.حذف(< قوی>جدید عدد صحیح(10)); //حذف عنصر با مقدار 10
|
ArrayList معکوس
رابط Collections همچنین روش هایی را برای عملیات انبوه ارائه می دهد که روی کل مجموعه کار می کند:
containsAll - اگر این مجموعه حاوی تمام عناصر مجموعه فراخوانی شده باشد، مقدار بولی true را برمیگرداند، در غیر این صورت false را برمیگرداند.
addAll - همه عناصر مشخص شده را به مجموعه مشخص شده اضافه می کند. عناصری که باید اضافه شوند را می توان به صورت جداگانه یا به صورت آرایه مشخص کرد.
removeAll - برای حذف همه عناصر از لیست موجود در مجموعه مشخص شده استفاده می شود.
پاک کردن - حذف همه عناصر
معکوس - معکوس آرایه
و غیره
مثال
با استفاده از removeAll .
ArrayList<Integer> first = new ArrayList<Integer>();
first.add(1);
first.add(2);
first.add(3);
ArrayList<Integer> دوم = ArrayList جدید<Integer>();
second.add(1);
second.add(2);
// تمام عناصر را از لیست دوم حذف می کند،
// اگر در لیست اول وجود داشته باشند
second.removeAll(first);
|