C# हैशटेबल उदाहरणों के साथ

C# में हैशटेबल क्या है?

हैश टेबल एक विशेष संग्रह है जिसका उपयोग कुंजी-मूल्य आइटम को संग्रहीत करने के लिए किया जाता है। इसलिए स्टैक, सरणी सूची और कतार जैसे केवल एक मान को संग्रहीत करने के बजाय, हैश टेबल 2 मान संग्रहीत करता है। ये 2 मान हैश टेबल का एक तत्व बनाते हैं।

नीचे कुछ उदाहरण दिए गए हैं कि हैश तालिका के मान कैसे दिख सकते हैं।

{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }

ऊपर हमारे पास 3 कुंजी मान जोड़े हैं। प्रत्येक तत्व की कुंजियाँ क्रमशः 001, 002 और 003 हैं। प्रत्येक कुंजी मान जोड़े के मान “नेट.“, “सी#” और “एएसपी.नेट” क्रमशः।

आइए हैशटेबल संग्रह के लिए उपलब्ध कार्यों को अधिक विस्तार से देखें।

हैशटेबल की घोषणा

हैशटेबल की घोषणा नीचे दी गई है। हैशटेबल डेटाटाइप की मदद से हैशटेबल बनाया जाता है। हैशटेबल का ऑब्जेक्ट बनाने के लिए “new” कीवर्ड का इस्तेमाल किया जाता है। फिर ऑब्जेक्ट को ht वेरिएबल को असाइन किया जाता है।

Hashtable ht = new Hashtable()

हैशटेबल में तत्व जोड़ना

Add विधि का उपयोग किसी तत्व को जोड़ने के लिए किया जाता है पंक्तिकथन का सामान्य वाक्यविन्यास नीचे दिया गया है

HashTable.add("key","value")

उदाहरण 1:

याद रखें कि हैश तालिका के प्रत्येक तत्व में दो मान होते हैं, एक कुंजी और दूसरा मान।

अब, आइए इसे कोड स्तर पर काम करते हुए देखें। नीचे दिए गए सभी कोड हमारे कंसोल एप्लिकेशन में लिखे जाएंगे।

कोड हमारी Program.cs फ़ाइल में लिखा जाएगा। नीचे दिए गए प्रोग्राम में, हम कोड लिखेंगे ताकि हम देख सकें कि हम ऊपर बताए गए तरीकों का उपयोग कैसे कर सकते हैं।

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

C# में हैशटेबल

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();
   }
 }
}

कोड स्पष्टीकरण:-

  1. सबसे पहले, हम कीवर्ड “New” का उपयोग करके Hashtable डेटा प्रकार का उपयोग करके हैशटेबल वैरिएबल घोषित करते हैं। परिभाषित वैरिएबल का नाम 'ht' है।
  2. फिर हम Add विधि का उपयोग करके हैश टेबल में तत्व जोड़ते हैं। याद रखें कि हैशटेबल में कुछ जोड़ते समय हमें कुंजी और मान दोनों तत्व जोड़ने की आवश्यकता होती है।
  3. हैश तालिका के तत्वों को प्रदर्शित करने का कोई सीधा तरीका नहीं है।
  • हैशटेबल प्रदर्शित करने के लिए, हमें सबसे पहले हैश टेबल से कुंजियों (001, 002 और 003) की सूची प्राप्त करनी होगी।
  • यह ICollection इंटरफ़ेस के ज़रिए किया जाता है। यह एक विशेष डेटा प्रकार है जिसका उपयोग हैशटेबल संग्रह की कुंजियों को संग्रहीत करने के लिए किया जा सकता है। फिर हम हैशटेबल संग्रह की कुंजियों को 'keys' चर में असाइन करते हैं।
  1. इसके बाद, प्रत्येक कुंजी मान के लिए, हम कथन ht[k] का उपयोग करके हैशटेबल में संबद्ध मान प्राप्त करते हैं।

यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया गया है तो निम्नलिखित आउटपुट प्रदर्शित होगा।

आउटपुट:

C# में हैशटेबल

आइए हैश तालिकाओं के लिए उपलब्ध कुछ और तरीकों पर नजर डालें।

इसमें कुंजी शामिल है

इस विधि का उपयोग यह देखने के लिए किया जाता है कि हैशटेबल में कोई कुंजी मौजूद है या नहीं। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि कुंजी मौजूद है तो कथन सत्य लौटाएगा, अन्यथा यह मान गलत लौटाएगा।

Hashtable.Containskey(key)

इसमें शामिल हैमूल्य

इस विधि का उपयोग यह देखने के लिए किया जाता है कि हैशटेबल में कोई मान मौजूद है या नहीं। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि मान मौजूद है तो कथन सत्य लौटाएगा, अन्यथा यह मान गलत लौटाएगा।

Hashtable.ContainsValue(value)

उदाहरण 2:

आइये अपना कोड बदलें सांत्वना आवेदन यह दिखाने के लिए कि हम “Containskey” और “ContainsValue” विधि का उपयोग कैसे कर सकते हैं।

C# में हैशटेबल

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();
   }
 }
}

कोड स्पष्टीकरण:-

  1. सबसे पहले, हम ContainsKey विधि का उपयोग करके यह देखते हैं कि कुंजी हैशटेबल में मौजूद है या नहीं। यदि कुंजी हैशटेबल में मौजूद है, तो यह विधि सत्य लौटाएगी। इस विधि को सत्य लौटाना चाहिए क्योंकि कुंजी हैशटेबल में मौजूद है।
  2. फिर हम ContainsValue विधि का उपयोग करके यह देखते हैं कि मान हैशटेबल में मौजूद है या नहीं। यह विधि 'सत्य' लौटाएगी क्योंकि मान हैशटेबल में मौजूद है।

यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया गया है तो निम्नलिखित आउटपुट प्रदर्शित होगा।

आउटपुट:

C# में हैशटेबल

आउटपुट से आप स्पष्ट रूप से देख सकते हैं कि खोजी जा रही कुंजी और मान दोनों हैश तालिका में मौजूद हैं।

सारांश

हैशटेबल का उपयोग उन तत्वों को संग्रहीत करने के लिए किया जाता है जिनमें कुंजी मान जोड़े शामिल होते हैं। किसी तत्व के मान तक पहुँचने के लिए, आपको तत्व की कुंजी जानने की आवश्यकता होती है।