C # में हैशटेबल क्या है?
हैश टेबल एक विशेष संग्रह है जिसका उपयोग कुंजी-मूल्य वस्तुओं को संग्रहीत करने के लिए किया जाता है। इसलिए स्टैक, एरे लिस्ट और कतार की तरह सिर्फ एक वैल्यू स्टोर करने के बजाय हैश टेबल 2 वैल्यू स्टोर करता है। ये 2 मान हैश तालिका का एक तत्व बनाते हैं।
नीचे कुछ उदाहरण दिए गए हैं कि हैश टेबल के मान कैसे दिख सकते हैं।
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
ऊपर हमारे पास 3 मुख्य मूल्य जोड़े हैं। प्रत्येक तत्व की कुंजियाँ क्रमशः 001, 002 और 003 हैं। प्रत्येक प्रमुख मूल्य जोड़ी के मूल्य क्रमशः ".net", "C #" और "ASP.Net" हैं।
आइए हैशटेबल संग्रह के लिए उपलब्ध संचालन को और अधिक विस्तार से देखें।
हैशटेबल की घोषणा
एक हैशटेबल की घोषणा नीचे दी गई है। हैशटेबल डेटाटाइप की मदद से एक हैशटेबल बनाया जाता है। "नया" कीवर्ड का उपयोग एक हैशटेबल का ऑब्जेक्ट बनाने के लिए किया जाता है। ऑब्जेक्ट तब चर ht को सौंपा गया है।
Hashtable ht = new Hashtable()
तत्वों को हैशटेबल में जोड़ना
कतार में एक तत्व जोड़ने के लिए ऐड मेथड का उपयोग किया जाता है। कथन का सामान्य सिंटैक्स नीचे दिया गया है
HashTable.add("key","value")
उदाहरण 1:
याद रखें कि हैश तालिका के प्रत्येक तत्व में 2 मान शामिल हैं, एक कुंजी है, और दूसरा मान है।
अब, इसे एक कोड स्तर पर काम करते हुए देखते हैं। नीचे दिए गए सभी कोड हमारे कंसोल एप्लिकेशन को लिखे जाएंगे।
कोड हमारे Program.cs फ़ाइल को लिखा जाएगा। नीचे दिए गए कार्यक्रम में, हम यह देखेंगे कि हम उपर्युक्त विधियों का उपयोग कैसे कर सकते हैं।
हमारे उदाहरण के लिए, हम अभी देखेंगे कि कैसे हम एक हैशटेबल बना सकते हैं, हैशटेबल में तत्वों को जोड़ सकते हैं और तदनुसार प्रदर्शित कर सकते हैं।
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");ICollection keys = ht.Keys;foreach (String k in keys){Console.WriteLine(ht[k]);}Console.ReadKey();}}}
कोड स्पष्टीकरण: -
- सबसे पहले, हम "नया" कीवर्ड का उपयोग करके हैशटेबल डेटा प्रकार का उपयोग करते हुए हैशटेबल चर की घोषणा करते हैं। चर परिभाषित करने का नाम 'ht' है।
- हम फिर Add विधि का उपयोग करके हैश तालिका में तत्वों को जोड़ते हैं। याद रखें कि हैशटेबल में कुछ जोड़ते समय हमें एक महत्वपूर्ण और मूल्य तत्व दोनों को जोड़ना होगा।
- हैश टेबल के तत्वों को प्रदर्शित करने का कोई सीधा तरीका नहीं है।
- हैशटेबल प्रदर्शित करने के लिए, हमें सबसे पहले हैश तालिका से कुंजियों की सूची (001, 002 और 003) प्राप्त करनी होगी।
- यह ICollection इंटरफ़ेस के माध्यम से किया जाता है। यह एक विशेष डेटा प्रकार है जिसका उपयोग हैशटेबल संग्रह की कुंजी को स्टोर करने के लिए किया जा सकता है। हम तब चर 'कुंजियों' को हैशटेबल संग्रह की कुंजी सौंपते हैं।
- प्रत्येक कुंजी मान के लिए, हम स्टेटमेंट [ht] का उपयोग करके हैशटेबल में संबद्ध मान प्राप्त करते हैं।
यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया जाता है तो निम्न आउटपुट प्रदर्शित किया जाएगा।
आउटपुट:
आइए हैश टेबल के लिए उपलब्ध कुछ और तरीकों को देखें।
इसमें शामिल हैं
इस विधि का उपयोग यह देखने के लिए किया जाता है कि क्या हैशटेबल में कोई कुंजी मौजूद है। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि कुंजी मौजूद है, तो कथन सही वापस आ जाएगा, अन्यथा यह मान को गलत लौटाएगा।
Hashtable.Containskey(key)
सम्मिलित
इस विधि का उपयोग यह देखने के लिए किया जाता है कि क्या हैशटेबल में कोई मान मौजूद है। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि मान मौजूद है, तो कथन सत्य हो जाएगा, अन्यथा यह मान गलत लौटाएगा।
Hashtable.ContainsValue(value)
उदाहरण 2:
आइए अपने कंसोल एप्लिकेशन में कोड को यह दिखाने के लिए बदलें कि हम "कंटेनर" और "कंटेंसवेले" विधि का उपयोग कैसे कर सकते हैं।
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");Console.WriteLine(ht.ContainsKey("001"));Console.WriteLine(ht.ContainsValue("C#"));Console.ReadKey();}}}
कोड स्पष्टीकरण: -
- सबसे पहले, हम यह देखने के लिए कि क्या हैशटेबल में मौजूद है ContainsKey विधि का उपयोग करें। यदि हैशटेबल में कुंजी मौजूद है तो यह विधि सही होगी। हैशटेबल में कुंजी मौजूद होने के बाद से यह विधि सही होनी चाहिए।
- हम तब है कि क्या हैशटेबल में मौजूद है देखने के लिए ContainsValue विधि का उपयोग करें। जब से हैशटेबल में मौजूद है, तब से यह विधि 'सही' वापस आ जाएगी।
यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया जाता है तो निम्न आउटपुट प्रदर्शित किया जाएगा।
आउटपुट:
आउटपुट से, आप स्पष्ट रूप से देख सकते हैं कि खोज की जा रही कुंजी और मूल्य दोनों हैश तालिका में मौजूद हैं।
सारांश
- एक हैशटेबल का उपयोग उन तत्वों को संग्रहीत करने के लिए किया जाता है जिनमें प्रमुख मान जोड़े शामिल होते हैं। किसी तत्व के मूल्य तक पहुंचने के लिए, आपको तत्व की कुंजी को जानना होगा।