سه شنبه ۲۷ شهريور ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سی شارپ - کلاس ArrayList

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

متدها و خصوصیات کلاس ArrayList

در جدول زیر، برخی از خصوصیات معمول استفاده شده کلاس ArrayList آمده است −

ردیف خصوصیت و توضیحات
1

ظرفیت (Capacity)

تعداد عناصری که ArrayList می‌تواند شامل شود را برمی‌گرداند یا تنظیم می‌کند.

2

تعداد عناصر (Count)

تعداد عناصر فعلی موجود در ArrayList را برمی‌گرداند.

3

IsFixedSize

مقداری را برمی‌گرداند که نشان می‌دهد آیا ArrayList دارای اندازه ثابت است یا خیر.

4

IsReadOnly

مقداری را برمی‌گرداند که نشان می‌دهد آیا ArrayList قابل خواندن فقط است یا خیر.

5

Item

عنصر موجود در اندیس مشخص شده را برمی‌گرداند یا تنظیم می‌کند.

در جدول زیر، برخی از متدهای معمول استفاده شده کلاس ArrayList آورده شده است −

شماره متد و توضیحات
1

public virtual int Add(object value);

یک شیء را به انتهای ArrayList اضافه می‌کند.

2

public virtual void AddRange(ICollection c);

عناصر یک ICollection را به انتهای ArrayList اضافه می‌کند.

3

public virtual void Clear();

تمام عناصر را از ArrayList حذف می‌کند.

4

public virtual bool Contains(object item);

تشخیص می‌دهد آیا یک عنصر در ArrayList وجود دارد یا خیر.

5

public virtual ArrayList GetRange(int index, int count);

یک ArrayList را که نماینده‌ای از زیرمجموعه‌ای از عناصر در ArrayList منبع است، برمی‌گرداند.

6

public virtual int IndexOf(object);

ایندکس مبتنی بر صفر اولین رخداد یک مقدار در ArrayList یا بخشی از آن را برمی‌گرداند.

7

public virtual void Insert(int index, object value);

یک عنصر را در اندیس مشخص شده در ArrayList درج می‌کند.

8

public virtual void InsertRange(int index, ICollection c);

عناصر یک مجموعه را در اندیس مشخص شده در ArrayList درج می‌کند.

9

public virtual void Remove(object obj);

اولین رخداد یک شیء خاص را از ArrayList حذف می‌کند.

10

public virtual void RemoveAt(int index);

عنصر موجود در اندیس مشخص شده در ArrayList را حذف می‌کند.

11

public virtual void RemoveRange(int index, int count);

یک محدوده از عناصر را از ArrayList حذف می‌کند.

12

public virtual void Reverse();

ترتیب عناصر را در ArrayList برعکس می‌کند.

13

public virtual void SetRange(int index, ICollection c);

عناصر یک مجموعه را در طیفی از عناصر در ArrayList کپی می‌کند.

14

public virtual void Sort();

عناصر را در ArrayList مرتب می‌کند.

15

public virtual void TrimToSize();

ظرفیت را به تعداد واقعی عناصر موجود در ArrayList تنظیم می‌کند.

مثال

مثال زیر مفهوم را نشان می‌دهد −

using System;
using System.Collections;

namespace CollectionApplication {
   class Program {
      static void Main(string[] args) {
         ArrayList al = new ArrayList();
         
         Console.WriteLine("Adding some numbers:");
         al.Add(45);
         al.Add(78);
         al.Add(33);
         al.Add(56);
         al.Add(12);
         al.Add(23);
         al.Add(9);
         
         Console.WriteLine("Capacity: {0} ", al.Capacity);
         Console.WriteLine("Count: {0}", al.Count);
         
         Console.Write("Content: ");
         foreach (int i in al) {
            Console.Write(i + " ");
         }
         
         Console.WriteLine();
         Console.Write("Sorted Content: ");
         al.Sort();
         foreach (int i in al) {
            Console.Write(i + " ");
         }
         Console.WriteLine();
         Console.ReadKey();
      }
   }
}

هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -

Adding some numbers:
Capacity: 8
Count: 7
Content: 45 78 33 56 12 23 9
Content: 9 12 23 33 45 56 78