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 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 Miêu 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ụ

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 VietJackCsharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vi du minh hoa SortedList trong C#");
            Console.WriteLine("-------------------------------------");
            SortedList ht = new SortedList();            ht.Add("001", "Tran Nam");
            ht.Add("002", "Minh Chinh");
            ht.Add("003", "Thu Phuong");
            ht.Add("004", "Hong Ngoc");
            ht.Add("005", "Lam Truong");
            ht.Add("006", "Thuy Hang");
            ht.Add("007", "Minh Hieu");            if (ht.ContainsValue("Phuong Thanh"))
            {
                Console.WriteLine("Sinh vien co ten tren da ton tai trong danh sach");
            }
            else
            {
                ht.Add("008", "Phuong Thanh");
            }            // 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:

Sortedlist trong C#
collection_trong_csharp.jsp