Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में HashSet

C# में HashSet<T>: यूनिक एलिमेंट्स का अनऑर्डर्ड सेट

HashSet<T> (System.Collections.Generic) एक उच्च-प्रदर्शन सेट कलेक्शन है जो डुप्लिकेट एलिमेंट्स को स्वचालित रूप से हटा देता है। यह गणितीय सेट ऑपरेशन्स (यूनियन, इंटरसेक्शन, डिफरेंस) प्रदान करता है और O(1) औसत लुकअप/इन्सर्शन देता है।

उदाहरण: डुप्लिकेट स्ट्रिंग्स हटाना

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        string[] arr1 = { "bus", "truck", "bus", "car", "truck" };
        Console.WriteLine("Original: " + string.Join(", ", arr1));

        // HashSet से डुप्लिकेट हटाएं
        var set = new HashSet<string>(arr1);
        string[] arr2 = set.ToArray(); // या set.ToList()

        Console.WriteLine("Unique:   " + string.Join(", ", arr2));
    }
}

आउटपुट

Original: bus, truck, bus, car, truck
Unique:   bus, truck, car

मुख्य मेथड्स और प्रॉपर्टीज

मेथड/प्रॉपर्टीविवरण
Add(T)एलिमेंट जोड़ता है; डुप्लिकेट होने पर false लौटाता है।
Remove(T)एलिमेंट हटाता है; मिलने पर true लौटाता है।
Contains(T)O(1) में जांचता है कि एलिमेंट मौजूद है या नहीं।
Countएलिमेंट्स की संख्या।
Clear()सभी एलिमेंट्स हटाता है।
UnionWith(IEnumerable<T>)यूनियन (दोनों सेट्स के सभी यूनिक एलिमेंट्स)।
IntersectWith(IEnumerable<T>)इंटरसेक्शन (केवल कॉमन एलिमेंट्स)।
ExceptWith(IEnumerable<T>)डिफरेंस (केवल इस सेट में मौजूद एलिमेंट्स)।
SymmetricExceptWithसिमेट्रिक डिफरेंस (केवल एक सेट में मौजूद एलिमेंट्स)।
IsSubsetOf / IsSupersetOfसबसेट/सुपरसेट जांच।

सेट ऑपरेशन्स उदाहरण

var setA = new HashSet<int> { 1, 2, 3, 4 };
var setB = new HashSet<int> { 3, 4, 5, 6 };

setA.UnionWith(setB);        // {1,2,3,4,5,6}
setA.IntersectWith(setB);    // {3,4}
setA.ExceptWith(setB);       // {1,2} (setA में से setB के एलिमेंट्स हटाए)

HashSet vs List vs Dictionary

  • List<T>: ऑर्डर्ड, डुप्लिकेट्स अनुमत, इंडेक्स एक्सेस O(1), खोज O(n)।
  • HashSet<T>: अनऑर्डर्ड, यूनिक, खोज/इन्सर्ट O(1), कोई इंडेक्स एक्सेस नहीं।
  • Dictionary<TKey,TValue>: की-वैल्यू पेयर्स, की यूनिक, वैल्यू डुप्लिकेट हो सकती है।
  1. iPhone पर डुप्लिकेट संपर्क हटाएं iPhone पर डुप्लिकेट संपर्क हटाएं

    मुझे अपना iPhone पसंद है और मुझे iCloud भी पसंद है, लेकिन मुझे जो नफरत है वह यह है कि मेरे पास ढेर सारे डुप्लिकेट संपर्क हैं! ऐसा क्यों है? खैर, ऐसा इसलिए है क्योंकि मैं कई iPhones और iPads पर एक ही iCloud अकाउंट का उपयोग करता हूं। मेरी पत्नी के iPhone और मेरी बहन के सभी संपर्क एक विशाल सूची में मिल

  1. C++ में डुप्लिकेट उपट्री ढूंढना C++ में डुप्लिकेट उपट्री ढूंढना

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें सभी डुप्लिकेट उपट्री ढूंढने हैं। इसलिए प्रत्येक प्रकार के डुप्लिकेट उपट्री के लिए, हमें उनमें से किसी एक का रूट नोड लौटाना है। मान लीजिए हमारे पास ऐसा ट्री है: डुप्लिकेट उपट्री हैं: हल का दृष्टिकोण इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  1. डुप्लिकेट फ़ाइलों को त्वरित और सुरक्षित रूप से हटाएं: चरण-दर-चरण मार्गदर्शिका डुप्लिकेट फ़ाइलों को त्वरित और सुरक्षित रूप से हटाएं: चरण-दर-चरण मार्गदर्शिका

    अपने कंप्यूटर को व्यवस्थित रखना यह सुनिश्चित करने का एक महत्वपूर्ण हिस्सा है कि वह तेज़ और स्थिर रहे। इसलिए हर विंडोज़ उपयोगकर्ता को डिस्क क्लीनअप, डीफ़्रैग्मेंटेशन, रजिस्ट्री मरम्मत और डीफ़्रैग्मेंटेशन, और एंटी-वायरस स्कैन जैसे नियमित रखरखाव कार्यों को करने की आवश्यकता होती है। लेकिन एक महत्वपूर्ण