Nội dung chính
Lớp SortedList trong C#
Lớp SortedList trong C# sử dụng một key cũng như một chỉ mục để truy cập các item trong một list.
Một SortedList (danh sách đã được sắp xếp) là sự tổ hợp của một mảng và một Hash Table. Nó chứa một danh sách các item mà có thể được truy cập bởi sử dụng một key hoặc một chỉ mục. Nếu bạn truy cập item bởi sử dụng một chỉ mục, nó là một ArrayList, và nếu bạn truy cập item bởi sử dụng key, nó là một HashTable. Tập hợp các item luôn luôn được sắp xếp bởi giá trị key.
Phương thức và Thuộc tính của lớp SortedList trong C#
Bảng dưới liệt kê các thuộc tính được sử dụng phổ biến của lớp SortedList trong C#:
Thuộc tính | Mô tả |
---|---|
Capacity | Lấy hoặc thiết lập dung lượng của SortedList |
Count | Lấy số phần tử được chứa trong SortedList |
IsFixedSize | Lấy một giá trị chỉ dẫn có hay không SortedList là có kích cỡ cố định |
IsReadOnly | Lấy một giá trị chỉ dẫn có hay không SortedList là read-only |
Item | Lấy và thiết lập giá trị được liên kết với một key cụ thể trong SortedList |
Keys | Lấy các key trong SortedList |
Values | Lấy các value trong SortedList |
Bảng dưới liệt kê các phương thức được sử dụng phổ biến của lớp SortedList trong C#:
STT | Phương thức |
---|---|
1 |
public virtual void Add(object key, object value);
Thêm một phần tử với key và value đã xác định vào trong SortedList |
2 |
public virtual void Clear();
Gỡ bỏ tất cả phần tử từ SortedList |
3 |
public virtual bool ContainsKey(object key);
Xác định có hay không SortedList là chứa một key cụ thể |
4 |
public virtual bool ContainsValue(object value);
Xác định có hay không SortedList là chứa một value cụ thể |
5 |
public virtual object GetByIndex(int index);
Lấy value tại chỉ mục đã xác định của SortedList |
6 |
public virtual object GetKey(int index);
Lấy key tại chỉ mục đã xác định của SortedList |
7 |
public virtual IList GetKeyList();
Lấy các key trong SortedList |
8 |
public virtual IList GetValueList();
Lấy các value trong SortedList |
9 |
public virtual int IndexOfKey(object key);
Trả về chỉ mục (dựa trên cơ sở 0) của key đã xác định trong SortedList |
10 |
public virtual int IndexOfValue(object value);
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 value đã xác định trong SortedList |
11 |
public virtual void Remove(object key);
Gỡ bỏ phần tử với key đã xác định từ SortedList |
12 |
public virtual void RemoveAt(int index);
Gỡ bỏ phần tử tại chỉ mục đã xác định của SortedList |
13 |
public virtual void TrimToSize();
Thiết lập capacity tới số phần tử thực sự trong SortedList |
Ví dụ SortedList 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 SortedList trong C#:
using System; using System.Collections; namespace VietTutsCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Vi du SortedList trong C#"); Console.WriteLine("-------------------------------------"); SortedList ht = new SortedList(); ht.Add("001", "Java"); ht.Add("002", "C++"); ht.Add("003", "C#"); ht.Add("004", "Python"); ht.Add("005", "PHP"); if (ht.ContainsValue("VBA")) { Console.WriteLine("VBA da ton tai trong danh sach"); } else { ht.Add("006", "VBA"); } // lay tap hop cac key ICollection key = ht.Keys; foreach (string k in key) { Console.WriteLine(k + ": " + ht[k]); } 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: