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

C#-এ HashSet-র নির্দিষ্ট উপাদান মুছে ফেলা

C#-এ HashSet<T> ক্লাসের Remove(T item) মেথড ব্যবহার করে নির্দিষ্ট উপাদান মুছে ফেলা যায়। HashSet ডুপ্লিকেট অনুমতি দেয় না, তাই প্রতিটি উপাদান ইউনিক। Remove মেথড উপাদানটি পেলে মুছে ফেলে এবং true রিটার্ন করে, না পেলে false রিটার্ন করে।

উদাহরণ ১: স্ট্রিং HashSet থেকে উপাদান মুছে ফেলা

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        HashSet<string> set1 = new HashSet<string>();
        set1.Add("AB");
        set1.Add("CD");
        set1.Add("EF");
        set1.Add("AB"); // ডুপ্লিকেট - ইনসার্ট হবena
        set1.Add("IJ");
        set1.Add("KL");
        set1.Add("EF"); // ডুপ্লিকেট
        set1.Add("OP");

        Console.WriteLine("HashSet1-এর উপাদান");
        foreach (string val in set1) {
            Console.WriteLine(val);
        }

        HashSet<string> set2 = new HashSet<string>();
        set2.Add("EF");
        set2.Add("KL");

        Console.WriteLine("HashSet2-এর উপাদান");
        foreach (string val in set2) {
            Console.WriteLine(val);
        }
        Console.WriteLine("HashSet2-র উপাদানের সংখ্যা = " + set2.Count);

        // "KL" মুছে ফেলা
        set2.Remove("KL");

        Console.WriteLine("\nHashSet2-এর উপাদান... (আপডেটেড)");
        foreach (string res in set2) {
            Console.WriteLine(res);
        }
        Console.WriteLine("HashSet2-র উপাদানের সংখ্যা (আপডেটেড) = " + set2.Count);
        Console.WriteLine("\nset1 কি set2-এর সুপারসেট? " + set1.IsSupersetOf(set2));
    }
}

আউটপুট

HashSet1-এর উপাদান
AB
CD
EF
IJ
KL
OP
HashSet2-এর উপাদান
EF
KL
HashSet2-র উপাদানের সংখ্যা = 2
HashSet2-এর উপাদান... (আপডেটেড)
EF
HashSet2-র উপাদানের সংখ্যা (আপডেটেড) = 1
set1 কি set2-এর সুপারসেট? True

উদাহরণ ২: ইন্টিজার HashSet থেকে উপাদান মুছে ফেলা

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        HashSet<int> set1 = new HashSet<int>();
        set1.Add(100);
        set1.Add(200);
        set1.Add(300);
        set1.Add(400);
        set1.Add(500);
        set1.Add(600);

        Console.WriteLine("HashSet-এর উপাদান");
        foreach (int val in set1) {
            Console.WriteLine(val);
        }
        Console.WriteLine("HashSet-র উপাদানের সংখ্যা = " + set1.Count);

        // 300 মুছে ফেলা
        set1.Remove(300);

        Console.WriteLine("\nHashSet-এর উপাদান... (আপডেটেড)");
        foreach (int res in set1) {
            Console.WriteLine(res);
        }
        Console.WriteLine("HashSet-র উপাদানের সংখ্যা (আপডেটেড) = " + set1.Count);
    }
}

আউটপুট

HashSet-এর উপাদান
100
200
300
400
500
600
HashSet-র উপাদানের সংখ্যা = 6
HashSet-এর উপাদান... (আপডেটেড)
100
200
400
500
600
HashSet-র উপাদানের সংখ্যা (আপডেটেড) = 5

ব্যাখ্যা: HashSet<T> একটি হ্যাশ টেবিল বেসড সেট যা O(1) গড় সময়ে ইনসার্ট, ডিলিট, এবং লুকআপ প্রদান করে। ডুপ্লিকেট মান অটোমেটিক্যালি বাতিল করা হয়। Remove(T) মেথড হ্যাশ কোড ব্যবহার করে দ্রুত উপাদানটি খুঁজে বের করে এবং মুছে ফেলে। সেট থিওরি অপারেশন যেমন IsSupersetOf, UnionWith, IntersectWith ইত্যাদি সাপোর্ট করা থাকে।

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

  2. C#-এ HashSet সুপারসেট (Superset) কিনা যাচাই করা IsSupersetOf() দিয়ে

  3. C#-এ HashSet-তে নির্দিষ্ট উপাদান রয়েছে কিনা তা যাচাই করুন

  4. C#-এ HashSet এবং নির্দিষ্ট কালেকশনে সাধারণ উপাদান আছে কিনা তা যাচাই করুন