Làm việc với HashTable và SortedList
Làm việc với Hashtable
Lớp Hashtable
trong C# sử dụng một cặp key-value để truy cập các phần tử trong collection này.
Một Hash Table được sử dụng khi bạn cần truy cập các phần tử bởi sử dụng key, và bạn có thể nhận diện một giá trị key hữu ích. Mỗi item trong Hash Table có một cặp key và value. Key được sử dụng để truy cập các item trong dạng collection này.
Phương thức và thuộc tính của lớp Hashtable
Bảng dưới liệt kê các thuộc tính được sử dụng phổ biến của lớp Hashtable trong C#:
THUỘC TÍNH | MIÊU TẢ |
---|---|
Count | Lấy số cặp key và value được chứa trong Hashtable |
IsFixedSize | Lấy một giá trị chỉ rằng có hay không Hashtable là có một kích cỡ cố định |
IsReadOnly | Lấy một giá trị chỉ rằng có hay không Hashtable là read-only |
Item | Lấy hoặc thiết lập giá trị được liên kết với key đã xác định |
Keys | Lấy một ICollection chứa các key trong Hashtable |
Values | Lấy một ICollection chứa các value trong Hashtable |
Bảng dưới liệt kê các phương thức được sử dụng phổ biến của lớp Hashtable 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 Hashtable |
2 | public virtual void Clear()
Gỡ bỏ tất cả phần tử từ Hashtable |
3 | public virtual bool ContainsKey(object key)
Xác định có hay không Hashtable là chứa một key cụ thể |
4 | public virtual bool ContainsValue(object value)
Xác định có hay không Hashtable là chứa một value cụ thể |
5 | public virtual void Remove(object key)
Gỡ bỏ phần tử với key đã xác định từ Hashtable |
Ví dụ về Hashtable
Ví dụ HashtableDemo sau đây sẽ minh hoạ chi tiết cách sử dụng Hashtable
để lưu trữ dữ liệu theo cơ chế key-value:
Làm việc với SortedList
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 phẩn tử thông qua sử dụng key thì nó là một HashTable
. Tập hợp các phần tử 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
Bảng dưới đây sẽ 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 |
Danh sách phương thức thông dụng 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ụ về SortedList
Ví dụ SortedListDemo sau đây sẽ minh hoạ chi tiết cách sử dụng SortedList
để lưu trữ danh sách các phần tử theo cơ chế key-value: