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

C#-এ Hashtable-র সব উপাদান মুছে ফেলা

C#-এ Hashtable ক্লাসের Clear() মেথড ব্যবহার করে হ্যাশ টেবিলের সব কী-মান জোড়া একসাথে মুছে ফেলা যায়। এটি কালেকশনকে খালি করে দেয় (Count = 0) কিন্তু ক্যাপাসিটি (capacity) অপরিবর্তিত থাকে। Hashtable একটি নন-জেনেরিক কী-মান কালেকশন।

উদাহরণ ১: ১০টি এন্ট্রি যোগ করে Clear() কল করা

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Hashtable hash = new Hashtable(10);
        hash.Add("1", "A");
        hash.Add("2", "B");
        hash.Add("3", "C");
        hash.Add("4", "D");
        hash.Add("5", "E");
        hash.Add("6", "F");
        hash.Add("7", "G");
        hash.Add("8", "H");
        hash.Add("9", "I");
        hash.Add("10", "J");

        Console.WriteLine("Hashtable কী এবং মান জোড়া...");
        foreach (DictionaryEntry entry in hash) {
            Console.WriteLine("{0} and {1} ", entry.Key, entry.Value);
        }
        Console.WriteLine("Hashtable কি ফিক্সড সাইজ? = " + hash.IsFixedSize);
        Console.WriteLine("Hashtable-এ এন্ট্রির সংখ্যা = " + hash.Count);

        // সব উপাদান মুছে ফেলা
        hash.Clear();

        Console.WriteLine("Hashtable-এ এন্ট্রির সংখ্যা (আপডেটেড) = " + hash.Count);
    }
}

আউটপুট

Hashtable কী এবং মান জোড়া...
10 and J
1 and A
2 and B
3 and C
4 and D
5 and E
6 and F
7 and G
8 and H
9 and I
Hashtable কি ফিক্সড সাইজ? = False
Hashtable-এ এন্ট্রির সংখ্যা = 10
Hashtable-এ এন্ট্রির সংখ্যা (আপডেটেড) = 0

উদাহরণ ২: ৫টি এন্ট্রি যোগ করে Clear() কল করা

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Hashtable hash = new Hashtable(10);
        hash.Add("One", "100");
        hash.Add("Two", "200");
        hash.Add("Three", "300");
        hash.Add("Four", "400");
        hash.Add("Five", "500");

        Console.WriteLine("Hashtable কী এবং মান জোড়া...");
        foreach (DictionaryEntry entry in hash) {
            Console.WriteLine("{0} and {1} ", entry.Key, entry.Value);
        }
        Console.WriteLine("Hashtable-এ এন্ট্রির সংখ্যা = " + hash.Count);

        hash.Clear();

        Console.WriteLine("Hashtable-এ এন্ট্রির সংখ্যা (আপডেটেড) = " + hash.Count);
    }
}

আউটপুট

Hashtable কী এবং মান জোড়া...
One and 100
Five and 500
Three and 300
Two and 200
Four and 400
Hashtable-এ এন্ট্রির সংখ্যা = 5
Hashtable-এ এন্ট্রির সংখ্যা (আপডেটেড) = 0

ব্যাখ্যা: Clear() মেথড O(n) সময় নেয় কারণ সব এন্ট্রি রিলিজ করতে হয়। এটি ক্যাপাসিটি কমায় না (internal bucket array রিসাইজ হয় না)। IsFixedSize প্রোপার্টি false রিটার্ন করে কারণ আকার ডাইনামিক্যালি বড়ানো যায়। Hashtable লিগ্যাসি নন-জেনেরিক ক্লাস; নতুন প্রজেক্টে জেনেরিক Dictionary<TKey, TValue> ব্যবহার করা উচিত যা টাইপ সেফ এবং দ্রুত।

  1. C#-তে SortedList-র সব উপাদান সরাতে Clear() মেথড ব্যবহার

  2. C#-তে HashSet-র সব উপাদান সরাতে Clear() মেথড ব্যবহার

  3. C# তে Hashtable থেকে একটি আইটেম সরানো

  4. জাভাতে ArrayList-এ থেকে সব এলিমেন্ট রিমূভ করা