Nội dung chính
Lớp ArrayList trong C#
Lớp ArrayList trong C# biểu diễn một tập hợp được sắp xếp của một đối tượng mà có thể được lập chỉ mục cho từng item riêng rẽ.
Về cơ bản, nó là một sự thay thế cho một mảng. Tuy nhiên, không giống như trong mảng, bạn có thể thêm và gỡ bỏ các item từ một list tại một vị trí đã xác định bởi sử dụng một chỉ mục và mảng chính nó có thể tự điều chỉnh kích cỡ một cách tự động. Nó cũng cho phép cấp phát bộ nhớ động, thêm, tìm kiếm và sắp xếp các item trong một list.
Phương thức và Thuộc tính của lớp ArrayList trong C#
Dưới đây là các thuộc tính được sử dụng phổ biến của lớp ArrayList trong C#:
Thuộc tính | Miêu tả |
---|---|
Capacity | Lấy hoặc thiết lập số phần tử mà ArrayList có thể chứa |
Count | Lấy số phần tử thực sự được chứa trong ArrayList |
IsFixedSize | Lấy một giá trị chỉ rằng có hay không ArrayList là có một kích cỡ cố định |
IsReadOnly | Lấy một giá trị chỉ rằng có hay không ArrayList là read-only |
Item | Lấy hoặc thiết lập phần tử tại chỉ mục đã xác định |
Dưới đây là các phương thức được sử dụng phổ biến của lớp ArrayList trong C#:
STT | Phương thức |
---|---|
1 | public virtual int Add(object value);
Thêm một đối tượng vào phần cuối của ArrayList |
2 | public virtual void AddRange(ICollection c);
Thêm các phần tử của một ICollection vào phần cuối của ArrayList |
3 | public virtual void Clear();
Gỡ bỏ các phần tử từ ArrayList đó |
4 | public virtual bool Contains(object item);
Xác định có hay không một phần tử là nằm trong ArrayList |
5 | public virtual ArrayList GetRange(int index, int count);
Trả về một ArrayList mà biểu diễn một tập con của các phần tử trong ArrayList nguồn |
6 | public virtual int IndexOf(object);
Trả về chỉ mục (dựa trên cơ sở 0) của lần xuất hiện đầu tiên của một giá trị trong ArrayList hoặc một phần của nó |
7 | public virtual void Insert(int index, object value);
Chèn một phần tử vào ArrayList tại chỉ mục đã xác định |
8 | public virtual void InsertRange(int index, ICollection c);
Chèn một phần tử của một collection vào ArrayList tại chỉ mục đã xác định |
9 | public virtual void Remove(object obj);
Gỡ bỏ lần xuất hiện đầu tiên của một đối tượng đã xác định tại chỉ mục đã xác định |
10 | public virtual void RemoveAt(int index);
Gỡ bỏ phần tử tại chỉ mục đã xác định của ArrayList |
11 | public virtual void RemoveRange(int index, int count);
Gỡ bỏ một dãy phần tử từ ArrayList |
12 | public virtual void Reverse();
Đảo ngược thứ tự phần tử trong ArrayList |
13 | public virtual void SetRange(int index, ICollection c);
Sao chép các phần tử của một collection qua một dãy các phần tử trong ArrayList |
14 | public virtual void Sort();
Sắp xếp các phần tử trong ArrayList |
15 | public virtual void TrimToSize();
Thiết lập capacity tới số phần tử thực sự trong ArrayList |
Ví dụ ArrayList trong C#
Dưới đây là ví dụ minh họa các thuộc tính và phương thức của lớp ArrayList trong C#:
using System; using System.Collections; namespace VietTutsCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Vi du ArrayList trong C#"); Console.WriteLine("---------------------------------"); ArrayList list = new ArrayList(); Console.WriteLine("\nChen phan tu vao ArrayList: "); list.Add(1); list.Add(2); list.Add(3); list.Add(4); list.Add(5); list.Add(6); list.Add(7); Console.WriteLine("\nDung luong cua ArrayList: {0} ", list.Capacity); Console.WriteLine("So phan tu trong ArrayList: {0}", list.Count); Console.WriteLine("\nHien thi cac phan tu trong ArrayList: "); foreach (int i in list) { Console.Write(i + " "); } Console.WriteLine(); Console.WriteLine("\nSap xep va hien thi ArrayList " + "sau khi da sap xep: "); list.Sort(); foreach (int i in list) { Console.Write(i + " "); } Console.WriteLine(); Console.ReadKey(); } } }
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: