Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy danh sách khóa của đối tượng SortedList trong C#

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ộ)