Lớp List - ArrayList trong C#



Lớp List - 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ụ

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 VietJackCsharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vi du minh hoa ArrayList trong C#");
            Console.WriteLine("---------------------------------");

            ArrayList al = new ArrayList();

            Console.WriteLine("\nChen mot vai phan tu vao ArrayList: ");
            al.Add(45);
            al.Add(78);
            al.Add(33);
            al.Add(56);
            al.Add(12);
            al.Add(23);
            al.Add(9);

            Console.WriteLine("\nDung luong cua ArrayList: {0} ", al.Capacity);
            Console.WriteLine("So phan tu trong ArrayList: {0}", al.Count);

            Console.WriteLine("\nHien thi cac phan tu trong ArrayList: ");
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }

            Console.WriteLine();
            Console.WriteLine("\nSap xep va hien thi ArrayList sau khi da sap xep: ");
            al.Sort();
            foreach (int i in al)
            {
                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:

ArrayList trong C#

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập doanh nghiệp với Java. Khóa học có giá chỉ 400K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp chị Thu, trợ lý anh Tuyền để hỗ trợ thanh toán qua mã QR ngân hàng Việt Nam, fb: https://www.facebook.com/Thule.59

Anh Tuyền, tác giả khóa học, là cựu sinh viên chương trình đào tạo kĩ sư tài năng của đại học Bách Khoa Hà Nội với hơn 5 năm kinh nghiệm đi làm thực tế doanh nghiệp và cũng là Founder website vietjack.com, web giáo dục phổ biến nhất Việt Nam hiện tại (năm 2024). Java cũng là ngôn ngữ lập trình dễ đi xin việc nhất hiện tại, với mức lương cao, hãy nâng cao kiến thức IT của bản thân mình vì một Việt Nam giàu mạnh.

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com


collection_trong_csharp.jsp


Tài liệu giáo viên