ArrayList

از موتو کد، دانشنامهٔ برنامه‌نویسی
Main Page Tutorial
Java-menu.jpeg
خانه
متدها در جاوا
کلاس‌ها در جاوا
۱برنامه‌نویسی شیءگرایی
۲کلاس‌ها و اشیاء
۳خاصیت‌های کلاس
۴متدهای کلاس
۵سازنده‌ها
۶Modifier ها
۷کپسوله‌سازی
۸پکیج‌ها
۹ارث بری
۱۰چند ریختی
۱۱کلاس‌های داخلی
۱۲مفهوم انتزاعی
۱۳رابط‌ها
۱۴Enum ها
۱۵دریافت اطلاعات از کاربر
۱۶تاریخ و زمان
۱۷ArrayList
۱۸HashMap
۱۹کلاس‌های Wrapper
۲۰خطاهای جاوا
فایل‌ها در جاوا
مرجع جاوا
مثال‌های جاوا

کلاس ArrayList یک آرایه با اندازه متغیر است که این کلاس را می‌توانید در پکیج java.util بیابید. [۱]

تفاوت بین یک آرایه پیش‌فرض در جاوا و ArrayList، این است که سایز آرایه پیش‌فرض غیرقابل تغییر است. (این بدان معنی است که اگر شما بخوانید عناصری را از یک آرایه حذف یا اضافه کنید، می‌بایست یک آرایه جدید بسازید) در حالی که عناصر را می‌توان در یک ArrayListبه راحتی حذف یا اضافه کرد. شیوه نوشتار نیز به طور کلی متفاوت است:

مثال[ویرایش | ویرایش]

ساخت یک ArrayList به نام cars که مقادیر رشته‌ای را ذخیره خواهد کرد:

import java.util.ArrayList; // import the ArrayList class

ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
اگر شما نمی‌دانید پکیج چیست، آموزش پکیج‌ها در جاوا را بخوانید.

اضافه کردن عناصر[ویرایش | ویرایش]

کلاس ArrayList متدهای بسیار کاربردی دارد. برای مثال، برای اضافه کردن عناصر به یک ArrayList می‌بایست از متد add() استفاده کرد:

مثال[ویرایش | ویرایش]

import java.util.ArrayList;

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}


مشاهدهٔ نتیجه


دسترسی به یک عنصر[ویرایش | ویرایش]

برای دسترسی به یک عنصر در 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 حلقه ایجاد کرده و به وسیله آن پیمایش کنید:

مثال[ویرایش | ویرایش]

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (int i = 0; i < cars.size(); i++) {
      System.out.println(cars.get(i));
    }
  }
}


مشاهدهٔ نتیجه


شما همچنین می‌توانید درون یک ArrayList به وسیله یک حلقه for-each پیمایش کنید:

مثال[ویرایش | ویرایش]

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (String i : cars) {
      System.out.println(i);
    }
  }
}


مشاهدهٔ نتیجه


انواع دیگر[ویرایش | ویرایش]

عناصر موجود در یک ArrayList در حقیقت شیء هستند. در مثال بالا، ما عناصری از نوع "متنی (String)" ایجاد کرده‌ایم. به یاد داشته باشید که یک داده متنی یک شیء است (نوع داده اصلی (primitive) نیست) برای استفاده از سایر نوع‌ها، همانند نوع عدد صحیح یا int، شما می‌بایست به یک کلاس برابر یعنی Integer اشاره کنید. برای سایر نوع داده‌های اصلی می‌توانید از Boolean به جای boolean، از Character برای نوع کاراکتری یا char، از Double به جای double و.. استفاده کنید:

مثال[ویرایش | ویرایش]

ساخت یک ArrayList برای ذخیره اعداد (اضافه کردن عناصری از نوع Integer):

import java.util.ArrayList;

public class MyClass {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}


مشاهدهٔ نتیجه


مرتب سازی یک آرایه[ویرایش | ویرایش]

یکی دیگر از کلاس‌های پرکاربرد پکیج java.util، کلاس Collections است که شامل متد sort() برای مرتب‌سازی لیست‌ها به صورت الفبایی یا عددی است:

مثال[ویرایش | ویرایش]

مرتب‌سازی یک ArrayList از نوع متنی (String):

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    Collections.sort(cars);  // Sort cars
    for (String i : cars) {
      System.out.println(i);
    }
  }
}


مشاهدهٔ نتیجه


مثال[ویرایش | ویرایش]

مرتب‌سازی یک ArrayList از نوع صحیح (Integer):

import java.util.ArrayList;
import java.util.Collections;  // Import the Collections class

public class MyClass {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

    Collections.sort(myNumbers);  // Sort myNumbers

    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}


مشاهدهٔ نتیجه


منابع آموزشی[ویرایش]