Cách dùng ArrayList trong C#
Trong bài viết này chúng ta sẽ tìm hiểu về ArrayList trong C#. Đây là một khái niện rất quen thuộc khi học các ngôn ngữ lập trình, nó hỗ trợ chúng ta rất nhiều các phương thức hữu dụng.
Mình sẽ giới thiệu về các thuộc tính, phương thức của ArrayList trong C#, sau đó là các thao tác với ArrayList như là khởi tạo, thêm phần tử, ...
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.
Bài viết này được đăng tại [free tuts .net]
Sau đây là sơ đồ minh họa cho class ArrayList trong C#:
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("Freetuts.net"); 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, "Freetuts.net", true, 4.5, null };
Thêm một Array / ArrayList vào ArrayList:
//khai báo một ArrayList var arlist2 = new ArrayList() { 1, "Freetuts.net", " ", 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, "Freetuts.net", 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 "Bill" //truyền kiểu dữ liệu sử dụng biến var var firstElement = arlist[0]; //returns 1 var secondElement = arlist[1]; //returns "Bill"
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, "Freetuts.net", 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, "Freetuts.net", 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, "Freetuts.net", 300, 4.5f, 300 }; Console.WriteLine(arList.Contains(300)); // true Console.WriteLine(arList.Contains("Freetuts.net")); // true Console.WriteLine(arList.Contains(10)); // false Console.WriteLine(arList.Contains("Freetuts")); // false
4. Kết luận
Như vậy là chúng ta đã tìm hiểu xong ArrayList trong C#. Đây là một class rất hữu dụng vì vậy các bạn hãy luyện tập thật nhiều để có thể hiểu rõ và sử dụng nó một cách thành thạo nhé !!!