XXV : Cách dùng ArrayList trong C#

Ngày đăng: 2023-05-02 20:43:48

Mục lục

1. ArrayList là gì?

Trong C#, ArrayList là một tập hợp của các đối tượng. Về cơ mảng nó giống với Array, ngoại trừ việc kích thước của nó tăng lên một cách linh hoạt.

Một ArrayList có thể được sử dụng để thêm dữ liệu mà chúng ta không biết nó thuộc loại nào hay kích thước bao nhiêu.

Sau đây là sơ đồ minh họa cho class ArrayList trong C#:

arraylist 01 png

2. Các thuộc tính và phương thức của ArrayList

Trong phần này chúng ta sẽ tìm hiểu về các thuộc tính và phương thức của ArrayList trong C#.

Các thuộc tính của ArrayList

Trong ArrayList có các thuộc tính như sau:

Thuộc tính
Mô tả
Capaty
Lấy hoặc đặt số phần tử mà ArrayList có thể chứa
Count
Đếm số phần tử thực sự có trong ArrayList
IsFixedSize
Cho biết ArrayList có kích thước cố định hay không
IsReadOnly
Cho biết ArrayList có ở chế độ ReadOnly (chỉ cho đọc) hay không
Item
Nhận hoặc đặt phần tử ở vị trí index được chỉ định

Các phương thức của ArrayList

Trong ArrayList có các phương thức như sau:

Phương thức
Mô tả
Add() / AddRange()
Phương thức Add () thêm các phần tử đơn lẻ vào cuối ArrayList.
Phương thức AddRange () thêm tất cả các phần tử từ bộ sưu tập được chỉ định vào ArrayList.
Insert() / InsertRange()
Phương thức Insert () chèn một phần tử duy nhất tại vị trí được chỉ định trong ArrayList.
Phương thức InsertRange () chèn tất cả các phần tử của tập hợp bắt đầu từ vị trí được chỉ định trong ArrayList.
Remove() / RemoveRange()
Phương thức Remove () loại bỏ phần tử được chỉ định khỏi ArrayList.
Phương thức RemoveRange () loại bỏ một loạt các phần tử khỏi ArrayList.
RemoveAt()
Loại bỏ phần tử tại vị trí được chỉ định khỏi ArrayList.
Sort()
Sắp xếp toàn bộ các phần tử của ArrayList.
Reverse()
Đảo ngược thứ tự của các phần tử trong toàn bộ ArrayList.
Contains()
Kiểm tra xem phần tử được chỉ định có tồn tại trong ArrayList hay không. Trả về true nếu tồn tại, ngược lại là false.
Clear()
Loại bỏ tất cả các phần tử trong ArrayList.
CopyTo()
Sao chép tất cả các phần tử hoặc phạm vi phần tử vào Array.
GetRange()
Trả về số phần tử được chỉ định từ vị trí được chỉ định từ ArrayList.
IndexOf()
Tìm kiếm phần tử được chỉ định và trả về vị trí của nó trong ArrayList. Trả về 0 nếu tìm thấy và trả về -1 nếu không tìm thấy phần tử.
ToArray()
Chuyển đổi ArrayList thành Array.

3. Các thao tác với ArayList

Trong phần này chúng ta sẽ tìm hiểu về các thao tác với ArrayList, đây là một phần rất quan trọng vì vậy các bạn hãy chú ý kỹ nhé.

Tạo ArrayList

Các class ArrayList được bao gồm trong System.Collections namespace.

Để tạo một đối tượng của ArrayList ta sử dụng từ khóa new.

using System.Collections;

 

ArrayList arlist = new ArrayList();

// hoặc

var arlist = new ArrayList();

Thêm các phần tử trong ArrayList

Chúng ta có thể sử dụng phương thức Add() hoặc cú pháp trình khởi tạo đối tượng để thêm một phần tử vào ArrayList.

Trong một ArrayList có thể chứa nhiều giá trị null trùng lặp nhau.

Thêm một phần tử vào ArrayList:

// thêm phần tử vào ArrayList sử dụng phương thức Add()

var arlist1 = new ArrayList();

arlist1.Add(1);

arlist1.Add("thuanhoaonline.com");

arlist1.Add(" ");

arlist1.Add(true);

arlist1.Add(4.5);

arlist1.Add(null);

 

// thêm phần tử vào ArrayList bằng cách khởi tạo cho các đối tượng

var arlist2 = new ArrayList()

{

      2, "thuanhoaonline.com", true, 4.5, null

};

Thêm một Array / ArrayList vào ArrayList:

//khai báo một ArrayList

var arlist2 = new ArrayList()

{

    1, "thuanhoaonline.com", " ", true, 4.5, null

};

//khai báo một ArrayList

int[] arr = { 100, 200, 300, 400 };

 

//Thêm một ArrayList vào ArrayList

arlist1.AddRange(arlist2);

//Thêm một Array vào ArrayList

arlist1.AddRange(arr);

Truy cập ArrayList

Chúng ta có thể truy cập vào ArrayList bằng cách sử dụng trình chỉ mục giống như cách truy cập vào Array. Chỉ mục bắt đầu từ 0 và tăng lên 1 cho mỗi phần tử kế tiếp.

Cần phải truyền kiểu dữ liệu rõ ràng hoặc sử dụng biến var.

Ví dụ:

var arlist = new ArrayList()

{

     1,

      "thuanhoaonline.com",

      300,

      4.5f

};

 

//truyền kiểu dữ liệu tương ứng như int, string

int firstElement = (int) arlist[0]; //returns 1

string secondElement = (string) arlist[1]; //returns "thuanhoaonline.com"

 

//truyền kiểu dữ liệu sử dụng biến var

var firstElement = arlist[0]; //returns 1

var secondElement = arlist[1]; //returns "thuanhoaonline.com"

Ngoài ra ta có thể thay đổi giá trị của phần tử bằng cách truyền vào giá trị mới tại chỉ mục mà bạn mong muốn.

Ví dụ: ta có arlist[0] ban đầu = 100, bây giờ muốn thay đổi thành 200 ta làm như sau:

arlist[0] = 200

//->> khi đó phần tử thứ 0 trong ArrayList sẽ là 200

Chèn các phần tử trong ArrayList

Để chèn một phần tử vào trong ArrayList tại một chỉ mục được chỉ định ta sử dụng phương thức Insert().

Cú pháp:

void Insert(int index, Object value)

Trong đó:

  • index là vị trí cần chèn vào.
  • value là giá trị cần truyền vào.

Ví dụ:

ArrayList arlist = new ArrayList()

{

        1,

        "thuanhoaonline.com",

        300,

        4.5f

};

arlist.Insert(1, "Second Item");

Ngoài ra ta có thể chèn một ArrayList vào vào ArrayList bằng phương thức InsertRange().

Ví dụ:

ArrayList arlist1 = new ArrayList()

                {

                    100, 200, 600

                };

 

ArrayList arlist2 = new ArrayList()

                {

                    300, 400, 500

                };

arlist1.InsertRange(2, arlist2);

Xóa phần tử khỏi ArrayList

Để xóa phần tử khỏi ArrayList ta có thể sử dụng các phương thức Remove(), RemoveAt() và RemoveRange().

Ví dụ:

ArrayList arList = new ArrayList()

 {

     1,

     null,

     "thuanhoaonline.com",

     300,

     " ",

     4.5f,

     300,

};

 

arList.Remove(null);

arList.RemoveAt(4);

arList.RemoveRange(0, 2);

Kiểm tra phần tử trong ArrayList

Sử dụng phương thức Contains() để kiểm tra một phần tử được chỉ định có nằm trong ArrayList hay không. Nó trả về true nếu tồn tại và trả về false nếu không tồn tại.

ArrayList arList = new ArrayList()

  {

    1,

    "thuanhoaonline.com",

    300,

    4.5f,

    300

  };

Console.WriteLine(arList.Contains(300)); // true

Console.WriteLine(arList.Contains("thuanhoaonline.com")); // true

Console.WriteLine(arList.Contains(10)); // false

Console.WriteLine(arList.Contains("thuanhoa")); // false

 

Về bài trước...

                                  Bài tiếp theo...


Tài liệu lập trình C#

Bài viết trong cùng chuyên mục

Góc games giải trí



Cờ caro


Butterfly


Lật hình (luyện trí nhớ)

Cờ tướng ONLINE

Xếp hình

Ghép hình

15_PUZZLE

Kill ghosts

Banchim

Planet Defense

Tower game

Tower game

Plapy Bird (NH.Đông)

Vượt chướng ngại vật



0379136392

Thông tin liên hệ: Lê Văn Thuyên - ĐT: 0379136392 ; Gmail: lethuyen0379136392@gmail.com

Comment

 +   Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!

Trả lời

 *   Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!

Trả lời

 *   Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!

Trả lời

 +   -:

Trả lời

 +   -:

Trả lời

12519