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> ব্যবহার করা উচিত যা টাইপ সেফ এবং দ্রুত।