SortedSet<T> ক্লাসের Clear() মেথড সেটের সব উপাদান একসাথে সরিয়ে দেয় এবং Count প্রোপার্টি শূন্য করে দেয়। SortedSet একটি সর্টেড, ডুপ্লিকেট-ফ্রি কালেকশন যা বাইনারি সার্চ ট্রি (রেড-ব্ল্যাক ট্রি) ব্যবহার করে বাস্তবায়ন করা হয়।
উদাহরণ ১: স্ট্রিং SortedSet Clear()
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedSet<string> set1 = new SortedSet<string>();
set1.Add("AB");
set1.Add("BC");
set1.Add("CD");
set1.Add("EF");
Console.WriteLine("SortedSet1 উপাদানসমূহ...");
foreach (string res in set1) {
Console.WriteLine(res);
}
SortedSet<string> set2 = new SortedSet<string>();
set2.Add("BC");
set2.Add("CD");
set2.Add("DE");
set2.Add("EF");
set2.Add("AB");
set2.Add("HI");
set2.Add("JK");
Console.WriteLine("\nSortedSet2 উপাদানসমূহ...");
foreach (string res in set2) {
Console.WriteLine(res);
}
Console.WriteLine("SortedSet2-র উপাদান সংখ্যা = " + set2.Count); // ৭
// সব উপাদান সরানো
set2.Clear();
Console.WriteLine("SortedSet2-র উপাদান সংখ্যা (আপডেট) = " + set2.Count); // ০
}
}
আউটপুট
SortedSet1 উপাদানসমূহ... AB BC CD EF SortedSet2 উপাদানসমূহ... AB BC CD DE EF HI JK SortedSet2-র উপাদান সংখ্যা = 7 SortedSet2-র উপাদান সংখ্যা (আপডেট) = 0
উদাহরণ ২: ইন্টিজার SortedSet Clear()
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedSet<int> set1 = new SortedSet<int>();
set1.Add(100);
set1.Add(200);
set1.Add(300);
set1.Add(400);
Console.WriteLine("SortedSet উপাদানসমূহ...");
foreach (int res in set1) {
Console.WriteLine(res);
}
Console.WriteLine("SortedSet-র উপাদান সংখ্যা = " + set1.Count); // ৪
set1.Clear();
Console.WriteLine("SortedSet-র উপাদান সংখ্যা (আপডেট) = " + set1.Count); // ০
}
}
আউটপুট
SortedSet উপাদানসমূহ... 100 200 300 400 SortedSet-র উপাদান সংখ্যা = 4 SortedSet-র উপাদান সংখ্যা (আপডেট) = 0
SortedSet-এর মূল বৈশিষ্ট্য
- সর্টেড: উপাদানগুলো সবসময় ক্রমবদ্ধ থাকে (IComparer<T> ব্যবহার করে)।
- ইউনিক: ডুপ্লিকেট উপাদান অনুমতি নয় (Add করলে false রিটার্ন করে)।
- পারফরম্যান্স: Add, Remove, Contains - O(log n) যেখানে n = Count。
- ইন্টারফেস:
ISet<T>,ICollection<T>,IEnumerable<T>বাস্তবায়ন করে।
SortedSet vs HashSet vs List
| বৈশিষ্ট্য | SortedSet<T> | HashSet<T> | List<T> |
|---|---|---|---|
| সর্টেড | হ্যাঁ | না | না (সর্ট করা যায়) |
| ইউনিক | হ্যাঁ | হ্যাঁ | না |
| Add/Remove/Contains | O(log n) | O(1) গড়ে | O(n) / O(1)末尾 |
| মেমরি | মাঝারি | মাঝারি | কম |
| ইন্ডেক্স অ্যাক্সেস | না | না | হ্যাঁ O(1) |
অন্যান্য উপাদান সরানোর মেথড
Remove(T item)- নির্দিষ্ট একটি উপাদান সরায় (bool রিটার্ন করে)RemoveWhere(Predicate<T> match)- শর্ত মেলা সব উপাদান সরায়Clear()- সব উপাদান সরায় (এই আর্টিকেলের বিষয়)
নোট: Clear() কল করার পর সেট খালি হয় কিন্তু আন্ডারলাইং ট্রি স্ট্রাকচারের মেমরি তৎক্ষণাৎ রিলিজ হয় না (গার্বেজ কালেক্টরের উপরে নির্ভর)।