Lớp SortedList đại diện cho một bộ sưu tập các cặp khóa-giá trị được sắp xếp theo khóa và có thể truy cập bằng khóa hoặc bằng chỉ số.
Một danh sách được sắp xếp là một sự kết hợp của một mảng và một bảng băm. Nó chứa một danh sách các items có thể được truy cập bằng một khóa hoặc một chỉ mục. Nếu bạn truy cập vào item sử dụng một chỉ số, nó là một ArrayList, và nếu bạn truy cập vào mục sử dụng một chìa khóa, nó là một Hashtable. Các bộ sưu tập các item luôn được sắp xếp theo giá trị khóa.
Các phương thức và thuộc tính của lớp SortedList
Bảng sau đây liệt kê một số tính chất thường được sử dụng của lớp SortedList:
Thuộc tính | Mô tả |
Capacity | Gets hoặc Sets sức chứa của SortedList. |
Count | Gets số phần tử có trong SortedList. |
IsFixedSize | Trả về một giá trị chỉ thị cho biết SortedList có phải là kích thước cố định. |
IsReadOnly | Trả về một giá trị cho biết SortedList có phải là chỉ đọc. |
Item | Gets and sets giá trị gắn với một key cụ thể trong SortedList. |
Keys | Gets các khóa trong SortedList. |
Values | Gets các giá trị SortedList. |
Bảng sau đây liệt kê một số phương thức thường được sử dụng của lớp SortedList:
STT | Phương thức |
1 | public virtual void Add(object key, object value);
Thêm một phần tử với khos đã xác định và giá trị vào SortedList. |
2 | public virtual void Clear();
Loại bỏ tất cả các yếu tố từ SortedList. |
3 | public virtual bool ContainsKey(object key);
Xác định xem SortedList có chứa một khóa cụ thể. |
4 | public virtual bool ContainsValue(object value);
Xác định xem SortedList có chứa một giá trị cụ thể. |
5 | public virtual object GetByIndex(int index);
Lấy giá trị tại chỉ số quy định của SortedList. |
6 | public virtual object GetKey(int index);
Lấy giá trị key ở chỉ số chỉ định của SortedList. |
7 | public virtual IList GetKeyList();
Lấy ra một danh sách khóa từ SortedList. |
8 | public virtual IList GetValueList();
Lấy ra một danh sách giá trị từ SortedList. |
9 | public virtual int IndexOfKey(object key);
Trả về chỉ số dựa trên khóa quy định trong SortedList. |
10 | public virtual int IndexOfValue(object value);
Trả về chỉ số dựa trên sự xuất hiện đầu tiên của giá trị quy định trong SortedList. |
11 | public virtual void Remove(object key);
Loại bỏ các phần tử với khóa đã xác định từ SortedList. |
12 | public virtual void RemoveAt(int index);
Loại bỏ các phần tử với chỉ mục đã xác định từ SortedList. |
13 | public virtual void TrimToSize();
Thiết lập sức chứa bằng với số lượng các phần tử trong danh sách Sorted. |
Ví dụ
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { SortedList sl = new SortedList(); //Khai báo một danh sách sl.Add("001", "Zara Ali"); sl.Add("002", "Abida Rehman"); sl.Add("003", "Joe Holzner"); sl.Add("004", "Mausam Benazir Nur"); sl.Add("005", "M. Amlan"); sl.Add("006", "M. Arif"); sl.Add("007", "Ritesh Saikia"); if (sl.ContainsValue("Nuha Ali")) // { Console.WriteLine("Ten sinh vien da ton tai"); } else { sl.Add("008", "Nuha Ali"); } // Lấy ra bộ sưu tập các khóa ICollection key = sl.Keys; foreach (string k in key) { Console.WriteLine(k + ": " + sl[k]); } } } }
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:
001: Zara Ali 002: Abida Rehman 003: Joe Holzner 004: Mausam Banazir Nur 005: M. Amlan 006: M. Arif 007: Ritesh Saikia 008: Nuha Ali
Chúc bạn thành công!