บทความนี้สาธิตวิธีการดึงคีย์ (key) ที่ดัชนี (index) ที่ระบุของ SortedList โดยใช้ method GetKey(int index) และหาดัชนีของคีย์ด้วย IndexOfKey
ตัวอย่างที่ 1: ดึงคีย์ที่ดัชนีและหาดัชนีของคีย์
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.Write("Index at key Five = " + list1.IndexOfKey("Five"));
Console.Write("\nKey at index 2 = " + list1.GetKey(2));
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("\n\nSortedList2 elements...");
foreach (DictionaryEntry d in list2)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("Index at key B = " + list2.IndexOfKey("B"));
}
}
ผลลัพธ์
SortedList1 elements... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 Index at key Five = 1 Key at index 2 = Four SortedList2 elements... A Accessories B Books C Smart Wearable Tech D Home Appliances Index at key B = 1
ตัวอย่างที่ 2: ตัวอย่างเพิ่มเติม
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
SortedList list = new SortedList();
list.Add("One", "Finance");
list.Add("Two", "Marketing");
list.Add("Three", "Sales");
list.Add("Four", "Purchase");
list.Add("Five", "Operations");
list.Add("Six", "IT");
Console.WriteLine("SortedList elements...");
foreach (DictionaryEntry d in list)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nIndex at key One = " + list.IndexOfKey("One"));
Console.Write("\nKey at index 5 = " + list.GetKey(5));
}
}
ผลลัพธ์
SortedList elements... Five Operations Four Purchase One Finance Six IT Three Sales Two Marketing Index at key One = 2 Key at index 5 = Two
คำอธิบายเพิ่มเติม
SortedListจัดเก็บคีย์/ค่าและจัดเรียงตามคีย์อัตโนมัติ (ใช้ binary search)GetKey(int index)คืนคีย์ที่ดัชนีที่ระบุ (0-based)IndexOfKey(key)คืนดัชนีของคีย์ที่ระบุ คืน -1 ถ้าไม่พบ- ดัชนีเป็นของ sorted order ไม่ใช่ insertion order
- เวลา complexity: GetKey = O(1), IndexOfKey = O(log n) เนื่องจาก binary search
- มี
GetByIndex(index)สำหรับดึงค่า และIndexOfValue(value)สำหรับหาดัชนีของค่า