HashSet - C# में सेट कलेक्शन
C# में सेट HashSet<T> द्वारा दर्शाया जाता है। HashSet डुप्लिकेट स्ट्रिंग्स या एलिमेंट्स को ऐरे से हटा देता है। यह एक ऑप्टिमाइज़्ड सेट कलेक्शन है।
HashSet घोषित करें:
var h = new HashSet<string>(arr1);
ऊपर, पहले से घोषित ऐरे arr1 को HashSet में सेट किया गया है।
डुप्लिकेट शब्द हटाने के लिए ऐरे पर सेट करें:
string[] arr2 = h.ToArray();
उदाहरण - डुप्लिकेट स्ट्रिंग्स हटाना:
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
string[] arr1 = { "Table", "Chair", "Pen", "Clip", "Table" };
Console.WriteLine(string.Join(",", arr1));
// HashSet - डुप्लिकेट्स हटाता है
var h = new HashSet<string>(arr1);
// डुप्लिकेट-मुक्त ऐरे में वापस
string[] arr2 = h.ToArray();
Console.WriteLine(string.Join(",", arr2));
}
}
आउटपुट:
Table,Chair,Pen,Clip,Table Table,Chair,Pen,Clip
HashSet विशेषताएं:
- O(1) औसत लुकअप, ऐड, रिमूव
- डुप्लिकेट्स ऑटोमैटिकली अस्वीकार
- कोई ऑर्डर गारंटी नहीं (अनऑर्डर्ड)
- सेट ऑपरेशन्स: UnionWith, IntersectWith, ExceptWith, SymmetricExceptWith
SortedSet<T>- सॉर्टेड ऑर्डर बनाए रखता है
सामान्य ऑपरेशन्स:
var set = new HashSet<int> { 1, 2, 3 };
set.Add(4); // जोड़ें (false लौटाता यदि पहले से मौजूद)
set.Remove(2); // हटाएं
set.Contains(3); // चेक करें (true/false)
set.UnionWith(other); // यूनियन
set.IntersectWith(other); // इंटरसेक्शन
set.ExceptWith(other); // डिफरेंस