Lớp SortedList trong C#

0
307

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!

This site uses Akismet to reduce spam. Learn how your comment data is processed.