C#-এ SortedList ক্লাসের IndexOfKey(object key) মেথড ব্যবহার করে নির্দিষ্ট কী-এর ইনডেক্স (০-বেসড) পাওয়া যায়। যেহেতু SortedList কী অনুযায়ী সর্টেড থাকে, ইনডেক্স কী-এর সর্টেড পজিশন নির্দেশ করে। কী না পেলে -1 রিটার্ন করে।
উদাহরণ ১: "One" কী-এর ইনডেক্স পাওয়া
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 উপাদান...");
foreach (DictionaryEntry d in list) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nOne কী-এর ইনডেক্স = " + list.IndexOfKey("One"));
}
}
আউটপুট
SortedList উপাদান... Five Operations Four Purchase One Finance Six IT Three Sales Two Marketing One কী-এর ইনডেক্স = 2
উদাহরণ ২: একাধিক SortedList-এ কী-এর ইনডেক্স
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 উপাদান...");
foreach (DictionaryEntry d in list1) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("Five কী-এর ইনডেক্স = " + list1.IndexOfKey("Five"));
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 উপাদান...");
foreach (DictionaryEntry d in list2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("B কী-এর ইনডেক্স = " + list2.IndexOfKey("B"));
}
}
আউটপুট
SortedList1 উপাদান... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 Five কী-এর ইনডেক্স = 1 SortedList2 উপাদান... A Accessories B Books C Smart Wearable Tech D Home Appliances B কী-এর ইনডেক্স = 1
ব্যাখ্যা: IndexOfKey(key) মেথড বাইনারি সার্চ ব্যবহার করে O(log n) সময়ে কী খুঁজে বের করে। SortedList কী অনুযায়ী অ্যাসেন্ডিং অর্ডারে সর্টেড থাকে। কী অবজেক্ট হতে পারে যেকোনো টাইপ যা IComparable ইমপ্লিমেন্ট করে। কী ডুপ্লিকেট হলে এক্সেপশন থ্রো করে। নতুন কোডে জেনেরিক SortedList<TKey, TValue> ব্যবহার করা ভালো।