[C#] .NET हैशटेबल बनाम शब्दकोश - क्या शब्दकोश तेज़ी से हो सकता है?



Answers

मुझे लगता है कि इसका मतलब अब आपके लिए कुछ भी नहीं है। लेकिन सिर्फ लोगों के संदर्भ में संदर्भ के लिए

प्रदर्शन टेस्ट - सॉर्टेडलिस्ट बनाम सॉर्टेड डिक्शनरी बनाम शब्दकोश बनाम हैशटेबल

Question

मैं यह जानने का प्रयास कर रहा हूं कि कब और क्यों एक शब्दकोश या हैशटेबल का उपयोग करना है। मैंने यहां थोड़ी सी खोज की है और लोगों ने डिक्शनरी के सामान्य फायदों के बारे में बात की है जो मैं पूरी तरह से सहमत हूं, जो मामूली प्रदर्शन लाभ के लिए मुक्केबाजी और अनबॉक्सिंग लाभ की ओर जाता है।

लेकिन मैंने यह भी पढ़ा है कि शब्दकोश हमेशा ऑब्जेक्ट्स को क्रम में क्रम में वापस नहीं करेगा, जिस चीज को हल किया गया है। जहां हैशटेबल होगा। जैसा कि मैं समझता हूं यह कुछ स्थितियों के लिए हैशटेबल को बहुत तेजी से ले जाता है।

मेरा सवाल वास्तव में है, उन परिस्थितियों में क्या हो सकता है? क्या मैं उपरोक्त मेरी धारणाओं में गलत हूं? आप एक से ऊपर का चयन करने के लिए किस स्थितियों का उपयोग कर सकते हैं, (हाँ आखिरी वाला थोड़ा अस्पष्ट है)।




दोनों प्रभावी ढंग से एक ही कक्षा में हैं (आप डिस्सेप्लर देख सकते हैं)। हैशटेबल को पहले जेनेटिक्स के पहले बनाया गया था। शब्दकोश, हालांकि एक सामान्य वर्ग है और आपको मजबूत टाइपिंग लाभ देता है। मैं कभी भी हैशटेबल का उपयोग नहीं करता क्योंकि शब्दकोश का उपयोग करने के लिए आपको कुछ भी नहीं लगता है।




यदि आप पढ़ने के बारे में परवाह करते हैं जो हमेशा ऑब्जेक्ट्स को एक शब्दकोश में डाले गए क्रम में वापस कर देगा, तो आप देख सकते हैं

OrderedDictionary - मूल्यों को एक पूर्णांक अनुक्रमणिका के माध्यम से एक्सेस किया जा सकता है (जिस क्रम में आइटम जोड़े गए थे) सॉर्टेड SortedDictionary - आइटम स्वचालित रूप से सॉर्ट किए जाते हैं




हैशटेबल और शब्दकोश के बीच मतभेद

शब्दकोश:

  • डिक्शनरी त्रुटि देता है अगर हम एक कुंजी खोजने की कोशिश करते हैं जो मौजूद नहीं है।
  • शब्दकोश हैशटेबल से तेज़ है क्योंकि कोई मुक्केबाजी और अनबॉक्सिंग नहीं है।
  • शब्दकोश एक सामान्य प्रकार है जिसका अर्थ है कि हम इसे किसी भी डेटा प्रकार के साथ उपयोग कर सकते हैं।

हैश टेबल:

  • हैशटेबल शून्य लौटाता है अगर हम ऐसी कुंजी ढूंढने का प्रयास करते हैं जो मौजूद नहीं है।
  • हैशटेबल शब्दकोश से धीमा है क्योंकि इसे मुक्केबाजी और अनबॉक्सिंग की आवश्यकता है।
  • हैशटेबल एक सामान्य प्रकार नहीं है,



Links