ArrayList
کلاس ArrayList
یک آرایه با اندازه متغیر است که این کلاس را میتوانید در پکیج java.util
بیابید. [۱]
تفاوت بین یک آرایه پیشفرض در جاوا و ArrayList
، این است که سایز آرایه پیشفرض غیرقابل تغییر است. (این بدان معنی است که اگر شما بخوانید عناصری را از یک آرایه حذف یا اضافه کنید، میبایست یک آرایه جدید بسازید) در حالی که عناصر را میتوان در یک ArrayList
به راحتی حذف یا اضافه کرد. شیوه نوشتار نیز به طور کلی متفاوت است:
مثال
ساخت یک ArrayList
به نام cars که مقادیر رشتهای را ذخیره خواهد کرد:
1 import java.util.ArrayList; // import the ArrayList class
2
3 ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
اضافه کردن عناصر
کلاس ArrayList
متدهای بسیار کاربردی دارد. برای مثال، برای اضافه کردن عناصر به یک ArrayList
میبایست از متد add()
استفاده کرد:
مثال
1 import java.util.ArrayList;
2
3 public class MyClass {
4 public static void main(String[] args) {
5 ArrayList<String> cars = new ArrayList<String>();
6 cars.add("Volvo");
7 cars.add("BMW");
8 cars.add("Ford");
9 cars.add("Mazda");
10 System.out.println(cars);
11 }
12 }
دسترسی به یک عنصر
برای دسترسی به یک عنصر در ArrayList
، از متد get()
و شماره اندیس مربوط استفاده کنید:
مثال
cars.get(0);
تغییر یک عنصر
برای ویرایش یک عنصر ، از متد set()
و شماره اندیس مربوطه استفاده کنید:
مثال
cars.set(0, "Opel");
حذف یک عنصر
برای حذف یک عنصر ، از متد remove()
و شماره اندیس مربوطه استفاده کنید:
مثال
cars.remove(0);
برای حذف تمامی عناصر موجود در یک ArrayList
، از متد clear()
استفاده کنید:
مثال
cars.clear();
اندازه ArrayList
برای فهمیدن اینکه یک ArrayList چه تعداد عنصر دارد، میبایست از متد size
استفاده کنید:
مثال
cars.size();
ایجاد یک حلقه درون یک ArrayList
میتوانید به وسیله یک حلقه for
و متد size()
برای مشخص کردن تعداد دفعات اجرای حلقه ، درون یک ArrayList
حلقه ایجاد کرده و به وسیله آن پیمایش کنید:
مثال
1 public class MyClass {
2 public static void main(String[] args) {
3 ArrayList<String> cars = new ArrayList<String>();
4 cars.add("Volvo");
5 cars.add("BMW");
6 cars.add("Ford");
7 cars.add("Mazda");
8 for (int i = 0; i < cars.size(); i++) {
9 System.out.println(cars.get(i));
10 }
11 }
12 }
شما همچنین میتوانید درون یک ArrayList
به وسیله یک حلقه for-each پیمایش کنید:
مثال
1 public class MyClass {
2 public static void main(String[] args) {
3 ArrayList<String> cars = new ArrayList<String>();
4 cars.add("Volvo");
5 cars.add("BMW");
6 cars.add("Ford");
7 cars.add("Mazda");
8 for (String i : cars) {
9 System.out.println(i);
10 }
11 }
12 }
انواع دیگر
عناصر موجود در یک ArrayList در حقیقت شیء هستند. در مثال بالا، ما عناصری از نوع "متنی (به انگلیسی: String)" ایجاد کردهایم. به یاد داشته باشید که یک داده متنی یک شیء است (نوع داده اصلی (به انگلیسی: primitive) نیست) برای استفاده از سایر نوعها، همانند نوع عدد صحیح یا int، شما میبایست به یک کلاس برابر یعنی Integer
اشاره کنید. برای سایر نوع دادههای اصلی میتوانید از Boolean
به جای boolean، از Character
برای نوع کاراکتری یا char، از Double
به جای double و.. استفاده کنید:
مثال
ساخت یک ArrayList
برای ذخیره اعداد (اضافه کردن عناصری از نوع Integer
):
1 import java.util.ArrayList;
2
3 public class MyClass {
4 public static void main(String[] args) {
5 ArrayList<Integer> myNumbers = new ArrayList<Integer>();
6 myNumbers.add(10);
7 myNumbers.add(15);
8 myNumbers.add(20);
9 myNumbers.add(25);
10 for (int i : myNumbers) {
11 System.out.println(i);
12 }
13 }
14 }
مرتب سازی یک آرایه
یکی دیگر از کلاسهای پرکاربرد پکیج java.util
، کلاس Collections
است که شامل متد sort()
برای مرتبسازی لیستها به صورت الفبایی یا عددی است:
مثال
مرتبسازی یک ArrayList از نوع متنی (به انگلیسی: String):
1 import java.util.ArrayList;
2 import java.util.Collections; // Import the Collections class
3
4 public class MyClass {
5 public static void main(String[] args) {
6 ArrayList<String> cars = new ArrayList<String>();
7 cars.add("Volvo");
8 cars.add("BMW");
9 cars.add("Ford");
10 cars.add("Mazda");
11 Collections.sort(cars); // Sort cars
12 for (String i : cars) {
13 System.out.println(i);
14 }
15 }
16 }
مثال
مرتبسازی یک ArrayList از نوع صحیح (به انگلیسی: Integer):
1 import java.util.ArrayList;
2 import java.util.Collections; // Import the Collections class
3
4 public class MyClass {
5 public static void main(String[] args) {
6 ArrayList<Integer> myNumbers = new ArrayList<Integer>();
7 myNumbers.add(33);
8 myNumbers.add(15);
9 myNumbers.add(20);
10 myNumbers.add(34);
11 myNumbers.add(8);
12 myNumbers.add(12);
13
14 Collections.sort(myNumbers); // Sort myNumbers
15
16 for (int i : myNumbers) {
17 System.out.println(i);
18 }
19 }
20 }
منابع آموزشی