एक HashSet<T>
लागू करता ICollection<T>
इंटरफ़ेस:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
{
// Methods
void Add(T item);
void Clear();
bool Contains(T item);
void CopyTo(T[] array, int arrayIndex);
bool Remove(T item);
// Properties
int Count { get; }
bool IsReadOnly { get; }
}
एक List<T>
औजार IList<T>
, जो ICollection<T>
public interface IList<T> : ICollection<T>
{
// Methods
int IndexOf(T item);
void Insert(int index, T item);
void RemoveAt(int index);
// Properties
T this[int index] { get; set; }
}
एक HashSet फैली अर्थ विज्ञान की स्थापना की है, एक hashtable आंतरिक रूप से के माध्यम से कार्यान्वित किया:
एक सेट एक संग्रह है जिसमें डुप्लिकेट तत्व नहीं हैं, और जिनके तत्व किसी विशेष क्रम में नहीं हैं।
हैशसेट लाभ क्या होता है, अगर यह सूचकांक/स्थिति/सूची व्यवहार खो देता है?
हैशसेट से वस्तुओं को जोड़ना और पुनर्प्राप्त करना हमेशा ऑब्जेक्टर के माध्यम से, और ओ (1) ऑपरेशन के करीब है (सूची ओ (1) ऐड, ओ (1) इंडेक्स द्वारा पुनर्प्राप्त, ओ (एन) ढूंढें/निकालें)।
ए हैशसेट के व्यवहार की तुलना Dictionary<TKey,TValue>
का उपयोग करके मूल्यों के रूप में केवल कुंजी जोड़ने/हटाने और शब्दकोश मूल्यों को अनदेखा करके की जा सकती है। आप एक शब्दकोश में कुंजी को डुप्लिकेट मान नहीं होने की उम्मीद करेंगे, और यह "सेट" भाग का बिंदु है।
स्रोत
2009-08-08 18:54:26
तथ्य यह है कि ढांचा 'सॉर्टेडसेट' डेटा संरचना प्रदान करता है या तो आप एक सेट की संपत्ति नहीं होने के बारे में जो कहते हैं उसके विपरीत है - या विकास टीम से गलतफहमी के बारे में बताता है। – Veverke
मुझे लगता है कि यह कहना सही है कि 'हैशसेट' में वस्तुओं का क्रम परिभाषित नहीं किया गया है, इसलिए पुनरावर्तक के आदेश पर भरोसा न करें। यदि आप सेट को फिर से सेट करते हैं क्योंकि आप सेट में आइटम्स के खिलाफ कुछ कर रहे हैं, तो यह * खतरनाक नहीं है * जब तक कि आप आदेश से संबंधित किसी भी चीज़ पर भरोसा नहीं कर रहे हैं। 'सॉर्टेडसेट' में 'हैशसेट' * प्लस * ऑर्डर के सभी गुण हैं, हालांकि 'सॉर्टसेटसेट' 'हैशसेट 'से प्राप्त नहीं होता है; rephrased, * एक सॉर्टेडसेट विशिष्ट वस्तुओं * का एक आदेशित संग्रह है। – Kit
मुझे यह जवाब बहुत पसंद है। लेकिन आप इसे पेश करते समय पागल/निराश/परेशान लगते हैं .... जो मैं एक बड़ा प्रशंसक नहीं हूं। – pimbrouwers