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

C# में HashTable और Dictionary में अंतर


HashTable और Dictionary दोनों डेटा संग्रहण के लिए उपयोग की जाने वाली डेटा संरचना के प्रकार हैं। ये दोनों डेटा संरचनाएं संग्रहीत डेटा को कुंजी-मान जोड़ी में रखती हैं।

इनकी प्रमुख विशेषताओं के बीच अंतर के आधार पर हम HashTable और Dictionary के बीच निम्नानुसार अंतर कर सकते हैं:

क्र.सं.मुख्य बिंदुHashTableDictionary
1परिभाषाHashTable नॉन-जेनेरिक प्रकार का संग्रह है जिसका उपयोग कुंजी/मान जोड़ी में डेटा संग्रहीत करने के लिए किया जाता है और यह System.Collections नेमस्पेस में परिभाषित है।दूसरी ओर Dictionary एक जेनेरिक प्रकार का संग्रह है जिसे System.Collection.Generics नेमस्पेस के तहत परिभाषित किया गया है जो डेटा को कुंजी/मान जोड़ी के रूप में भी संग्रहीत करता है।
2डेटा प्रकारHashTable में समान या अलग डेटा प्रकार का डेटा कुंजी और मान के रूप में संग्रहीत किया जा सकता है, ऐसी कोई पाबंदी नहीं है कि कुंजी और मान समान डेटा प्रकार के होने चाहिए तभी HashTable में संग्रहीत हो सकते हैं। साथ ही कुंजी और मान के प्रकार को निर्दिष्ट करने की कोई आवश्यकता नहीं है।दूसरी ओर Dictionary के मामले में कुंजी और मान समान डेटा प्रकार के होने चाहिए तभी Dictionary में संग्रहीत हो सकते हैं और निर्माण के समय कुंजी और मान का प्रकार निर्दिष्ट करना आवश्यक है।
3डेटा पुनर्प्राप्तिHashTable के मामले में बॉक्सिंग और अनबॉक्सिंग के कारण डेटा पुनर्प्राप्ति Dictionary की तुलना में धीमी है।दूसरी ओर Dictionary के मामले में डेटा पुनर्प्राप्ति तेज है क्योंकि Dictionary के मामले में कोई बॉक्सिंग और अनबॉक्सिंग नहीं होती।
4नल मानHashTable के मामले में नल मान को इस प्रकार संभाला जाता है कि यदि दिए गए HashTable में मौजूद नहीं होने वाली कुंजी को एक्सेस किया जाए तो परिणाम के रूप में नल मान लौटाए जाते हैं।दूसरी ओर, Dictionary के मामले में यदि दिए गए Dictionary में मौजूद नहीं होने वाली कुंजी को एक्सेस करने का प्रयास किया जाए तो यह त्रुटि देगा।
5डेटा क्रमHashTable डाले गए कुंजी-मान डेटा के किसी भी क्रम को बनाए नहीं रखता।दूसरी ओर Dictionary संग्रहीत मान के सम्मिलन क्रम को बनाए रखता है।

  1. - C# और .Net में अंतर

    C# एक Programming Language है और .NET एक Framework है। .NET में Common Language Runtime (CLR) होता है, जो .NET Framework का एक Virtual Component है। .NET में न केवल C#, बल्कि इसके माध्यम से आप VB, F# आदि के साथ काम कर सकते हैं। C# .NET का हिस्सा है और इसमें निम्न Features हैं: Boolean Conditions Au

  1. - C# में Dictionary और Hashtable के बीच अंतर

    Hashtable Dictionary से धीमा है। दृढ़ता से टाइप किए गए संग्रह के लिए, Dictionary संग्रह तेज़ है। Hashtable Hashtable क्लास कुंजी-और-मान जोड़े के संग्रह को दर्शाता है जो कुंजी के हैश कोड के आधार पर व्यवस्थित होते हैं। यह संग्रह में तत्वों तक पहुंचने के लिए कुंजी का उपयोग करता है। आइए एक उदाहरण देखें:

  1. - C# में लिस्ट और डिक्शनरी में क्या अंतर है?

    List<T> और Dictionary<TKey, TValue> दोनों जेनेरिक कलेक्शन हैं लेकिन अलग-अलग उद्देश्यों के लिए उपयोग किए जाते हैं। List<T> - क्रमबद्ध संग्रह List myList = new List Maths Dictionary<TKey, TValue> - की-वैल्यू पेयर Dictionary d = new Dictionary 2 तुलना तालिका विशेषताList<T&