কম্পিউটার টিউটোরিয়াল

C#-এ SortedMap সমতুল্য: SortedList ক্লাস

জাভার SortedMap ইন্টারফেসের সমতুল্য C#-এ হলো SortedList<TKey, TValue> ক্লাস। এটি কি-ভ্যালু জোড়া সংরক্ষণ করে এবং কি অনুযায়ী স্বয়ংক্রিয়ভাবে সর্ট করা থাকে।

SortedList-এর বৈশিষ্ট্য

  • ডুয়াল অ্যাক্সেস: কি দিয়ে (হ্যাশ টেবিলের মত) এবং ইনডেক্স দিয়ে (অ্যারেলিস্টের মত) উভয়ে অ্যাক্সেস করা যায়।
  • সর্টেড অর্ডার: উপাদানগুলো সবসময় কি অনুযায়ী সর্ট করা থাকে।
  • যুনিক কি: প্রতিটি কি ইউনিক হতে হবে।
  • পারফরম্যান্স: ইনসারশন এবং রিমুভাল O(n), লুকআপ O(log n)।

বেসিক উদাহরণ: কি প্রদর্শন

using System;
using System.Collections;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedList sl = new SortedList();
            sl.Add("ST0", "One");
            sl.Add("ST1", "Two");
            sl.Add("ST2", "Three");

            ICollection keys = sl.Keys;
            foreach (string k in keys)
            {
                Console.WriteLine(k);
            }
        }
    }
}

আউটপুট

ST0
ST1
ST2

জেনেরিক সংস্করণ (সুপারিশ করা)

আধুনিক C#-এ SortedList<TKey, TValue> ব্যবহার করা ভালো:

using System;
using System.Collections.Generic;

var sortedList = new SortedList<string, string>();
sortedList.Add("ST0", "One");
sortedList.Add("ST1", "Two");
sortedList.Add("ST2", "Three");

// কি অনুযায়ী অ্যাক্সেস
Console.WriteLine(sortedList["ST1"]); // আউটপুট: Two

// ইনডেক্স অনুযায়ী অ্যাক্সেস
Console.WriteLine(sortedList.Values[0]); // আউটপুট: One

// সব কি-ভ্যালু জোড়া প্রিন্ট
foreach (var kvp in sortedList)
{
    Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}

SortedList vs SortedDictionary

ফিচারSortedListSortedDictionary
মেমরি দক্ষতাউচ্চ (ছোট কালেকশনের জন্য)নিম্ন
ইনসারশন স্পিডO(n)O(log n)
ইন্ডেক্স বেসড অ্যাক্সেসহ্যাঁনা
বড় ডেটাসেটের জন্যকম উপযুক্তআরো ভালো

সাধারণ অপারেশনগুলো

  • Add(key, value) - উপাদান যোগ করুন
  • Remove(key) - কি দিয়ে মুছে দিন
  • ContainsKey(key) - কি আছে কিনা চেক করুন
  • TryGetValue(key, out value) - নিরাপদে ভ্যালু পান
  • Keys / Values - কালেকশন পান
  1. C# ইন্টারফেস টাইপ: IEnumerable, IList, IDictionary

  2. C#-এ Queue ইন্টারফেস ও ক্লাস

  3. C#-এ ইন্টারফেস কী এবং এর ব্যবহার

  4. C#-এ ইন্টারফেস (Interface) কী?