HashSet<T>.Add() मेथड निर्दिष्ट तत्व को सेट में जोड़ता है यदि वह पहले से मौजूद नहीं है। HashSet अद्वितीय तत्वों का अनऑर्डर्ड संग्रह है जो O(1) औसत लुकअप, इंसर्शन और डिलीशन प्रदान करता है।
उदाहरण 1: स्ट्रिंग HashSet में तत्व जोड़ना और तुलना
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(string[] args) {
HashSet<string> set1 = new HashSet<string>();
set1.Add("A");
set1.Add("B");
set1.Add("C");
set1.Add("D");
set1.Add("E");
set1.Add("F");
set1.Add("G");
set1.Add("H");
Console.WriteLine("HashSet1 में तत्व...");
foreach (string item in set1) {
Console.WriteLine(item);
}
HashSet<string> set2 = new HashSet<string>();
set2.Add("John");
set2.Add("Jacob");
set2.Add("Ryan");
set2.Add("Tom");
set2.Add("Andy");
set2.Add("Tim");
set2.Add("Steve");
set2.Add("Mark");
Console.WriteLine("\nHashSet2 में तत्व (एन्यूमरेटर से)...");
HashSet<string>.Enumerator enumerator = set2.GetEnumerator();
while (enumerator.MoveNext()) {
Console.WriteLine(enumerator.Current);
}
// Equals रेफरेंस समानता जांचता है (कंटेंट नहीं)
Console.WriteLine("\nक्या HashSet1, HashSet2 के बराबर है? = " + set1.Equals(set2));
Console.WriteLine("HashSet2 संख्या = " + set2.Count);
// Clear और पुनः जांचें
set2.Clear();
Console.WriteLine("Clear के बाद HashSet2 संख्या = " + set2.Count);
}
}
आउटपुट
HashSet1 में तत्व...
A
B
C
D
E
F
G
H
HashSet2 में तत्व (एन्यूमरेटर से)...
John
Jacob
Ryan
Tom
Andy
Tim
Steve
Mark
क्या HashSet1, HashSet2 के बराबर है? = False
HashSet2 संख्या = 8
Clear के बाद HashSet2 संख्या = 0
उदाहरण 2: इंटीजर HashSet और सबसेट जांच
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(string[] args) {
HashSet<int> set1 = new HashSet<int>();
set1.Add(100);
set1.Add(200);
Console.WriteLine("HashSet1 में तत्व...");
foreach (int item in set1) {
Console.WriteLine(item);
}
HashSet<int> set2 = new HashSet<int>();
set2.Add(100);
set2.Add(200);
Console.WriteLine("\nHashSet2 में तत्व...");
foreach (int item in set2) {
Console.WriteLine(item);
}
// सबसेट जांच
Console.WriteLine("\nक्या set1, set2 का सबसेट है? = " + set1.IsSubsetOf(set2));
Console.WriteLine("क्या set1, set2 का प्रॉपर सबसेट है? = " + set1.IsProperSubsetOf(set2));
Console.WriteLine("क्या set1, set2 को ओवरलैप करता है? = " + set1.Overlaps(set2));
Console.WriteLine("क्या set1, set2 के बराबर है (सेट समानता)? = " + set1.SetEquals(set2));
}
}
आउटपुट
HashSet1 में तत्व...
100
200
HashSet2 में तत्व...
100
200
क्या set1, set2 का सबसेट है? = True
क्या set1, set2 का प्रॉपर सबसेट है? = False
क्या set1, set2 को ओवरलैप करता है? = True
क्या set1, set2 के बराबर है (सेट समानता)? = True
HashSet मुख्य मेथड्स
| मेथड | विवरण | रिटर्न |
|---|---|---|
Add(T) | तत्व जोड़ें यदि नहीं मौजूद | bool (जोड़ा गया?) |
Remove(T) | तत्व हटाएं | bool (हटाया गया?) |
Contains(T) | तत्व मौजूदगी जांचें | bool |
Clear() | सभी तत्व हटाएं | void |
UnionWith | यूनियन (इस सेट को संशोधित) | void |
IntersectWith | इंटरसेक्शन | void |
ExceptWith | डिफरेंस | void |
IsSubsetOf | सबसेट जांच | bool |
IsSupersetOf | सुपरसेट जांच | bool |
SetEquals | सेट समानता जांच | bool |
Overlaps | कोई सामान्य तत्व? | bool |
महत्वपूर्ण बिंदु
- अद्वितीय तत्व: डुप्लिकेट Add नजरअंदाज कर दिए जाते हैं (false लौटाता है)।
- अनऑर्डर्ड: कोई गारंटीड क्रम नहीं; इटरेशन क्रम अनिर्धारित।
- O(1) ऑपरेशन्स: Add, Remove, Contains औसत O(1)।
- कस्टम तुलना: कंस्ट्रक्टर में
IEqualityComparer<T>पास करें। - Equals() व्यवहार: डिफ़ॉल्ट Object.Equals रेफरेंस समानता जांचता है; सेट समानता के लिए
SetEquals()उपयोग करें।