Giới thiệu
Phương thức GetKeyList() của SortedList trả về IList chứa tất cả khóa theo thứ tự đã sắp xếp. Khóa không thể trùng lặp và không được null.
Ví dụ 1: Lấy khóa từ hai SortedList khác nhau
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
SortedList list1 = new SortedList();
list1.Add("One", 1);
list1.Add("Two", 2);
list1.Add("Three", 3);
list1.Add("Four", 4);
list1.Add("Five", 5);
list1.Add("Six", 6);
list1.Add("Seven", 7);
list1.Add("Eight", 8);
list1.Add("Nine", 9);
list1.Add("Ten", 10);
Console.WriteLine("SortedList1 elements...");
foreach (DictionaryEntry d in list1)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nList of keys... SortedList1");
IList list = list1.GetKeyList();
foreach (string res in list)
{
Console.WriteLine(res);
}
SortedList list2 = new SortedList();
list2.Add("A", "Accessories");
list2.Add("B", "Books");
list2.Add("C", "Smart Wearable Tech");
list2.Add("D", "Home Appliances");
Console.WriteLine("\nSortedList2 elements...");
foreach (DictionaryEntry d in list2)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nList of keys... SortedList2");
list = list2.GetKeyList();
foreach (string res in list)
{
Console.WriteLine(res);
}
}
}
Kết quả
SortedList1 elements... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 List of keys... SortedList1 Eight Five Four Nine One Seven Six Ten Three Two SortedList2 elements... A Accessories B Books C Smart Wearable Tech D Home Appliances List of keys... SortedList2 A B C D
Ví dụ 2: SortedList với khóa số
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
SortedList list = new SortedList();
list.Add("One", 1);
list.Add("Two", 2);
list.Add("Three", 3);
list.Add("Four", 4);
list.Add("Five", 5);
Console.WriteLine("SortedList elements...");
foreach (DictionaryEntry d in list)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nList of keys... SortedList");
IList col = list.GetKeyList();
foreach (string res in col)
{
Console.WriteLine(res);
}
}
}
Kết quả
SortedList elements... Five 5 Four 4 One 1 Three 3 Two 2 List of keys... SortedList Five Four One Three Two
Đặc điểm SortedList
- Tự động sắp xếp theo khóa (IComparable)
- Truy cập bằng chỉ mục:
GetKey(index),GetByIndex(index) - Tìm kiếm nhị phân: O(log n)
- Chèn/xóa: O(n) do phải dịch chuyển mảng
- Bộ nhớ liên tục (mảng nội bộ)