हैश मैप (या हैशटेबल) एक डेटा संरचना है जो कुंजी-मूल्य जोड़े का उपयोग करके डेटा तक त्वरित पहुंच की अनुमति देता है। जावा हैश मैप वर्ग का विस्तार करता है सार नक्शा मैप इंटरफेस को क्लास और इम्प्लीमेंट करता है, जो इसे बहुत सारे ऑपरेशन्स तक एक्सेस देता है। हैश मैप्स में दो प्रकार के पैरामीटर होते हैं- के और वी, जहां के कुंजी स्टोर करता है और वी प्रत्येक हैश मैप में मानों को स्टोर करता है।
हैश मैप आपको चाबियों को एक विशिष्ट मूल्य पर मैप करने और वस्तुओं को यादृच्छिक क्रम में संग्रहीत करने की अनुमति देता है। इस लेख में, आप सीखेंगे कि डेटा को स्टोर करने, पुनर्प्राप्त करने, अपडेट करने और हटाने के लिए जावा के हैश मैप वर्ग का उपयोग कैसे करें।
जावा हैश मैप बनाना
जावा हैश मैप वर्ग में चार कंस्ट्रक्टर हैं। डिफ़ॉल्ट कंस्ट्रक्टर सबसे लोकप्रिय है, यह आपको एक खाली हैश मैप बनाने की अनुमति देता है जिसकी डिफ़ॉल्ट क्षमता 16 होगी।
आयातजावाउपयोग।हैश मैप;
जनताकक्षामुख्य{
जनतास्थिरशून्यमुख्य(स्ट्रिंग [] तर्क){
// हैश मैप बनाएं
हैश मैप<पूर्णांक, स्ट्रिंग> फ्रूट मैप = नया हैश मैप<पूर्णांक, स्ट्रिंग>();
}
}
जावा वर्ग ऊपर एक डेटा संरचना बनाने के लिए डिफ़ॉल्ट हैश मैप कंस्ट्रक्टर का उपयोग करता है जिसे कहा जाता है
फल नक्शा. FruitMap ऑब्जेक्ट डेटा संग्रहीत करेगा जिसमें एक पूर्णांक कुंजी और एक स्ट्रिंग मान है। हालाँकि, चूंकि हैश मैप वर्ग मानचित्र इंटरफ़ेस को लागू करता है, यह कुंजी फ़ील्ड, मान फ़ील्ड या दोनों में एक शून्य मान संग्रहीत कर सकता है।हैश मैप में डेटा स्टोर करना
आप हैश मैप क्लास का उपयोग करके कई ऑपरेशन कर सकते हैं। पुट (K कुंजी, V मान) विधि इसकी सबसे लोकप्रिय विधियों में से एक है, और यह आपको एक कुंजी-मूल्य जोड़ी का उपयोग करके डेटा संग्रहीत करने की अनुमति देती है, जहां प्रत्येक कुंजी एक मान के लिए मैप करती है।
आयातजावाउपयोग।हैश मैप;
जनताकक्षामुख्य{
जनतास्थिरशून्यमुख्य(स्ट्रिंग [] तर्क){
// हैश मैप बनाएं
हैश मैप<पूर्णांक, स्ट्रिंग> फ्रूट मैप = नया हैश मैप<पूर्णांक, स्ट्रिंग>();
// हैश मैप में आइटम जोड़ें
फ्रूट मैप.पुट (3,"नाशपाती");
फ्रूट मैप.पुट (6,"आम");
फ्रूट मैप.पुट (7,"आलूबुखारा");
फ्रूट मैप.पुट (4,"सेब");
फ्रूट मैप.पुट (1,"संतरा");
फ्रूट मैप.पुट (5,"जामुन");
फ्रूट मैप.पुट (2,"खरबूज");
}
}
उपरोक्त अद्यतन वर्ग कई फलों और उनकी कुंजी को मौजूदा फल मैप डेटा संरचना में जोड़ने के लिए पुट () विधि का उपयोग करता है। यह ध्यान रखना महत्वपूर्ण है कि उपरोक्त कोड डेटा को मानचित्र में यादृच्छिक रूप से जोड़ता है। यह विवरण तब उपयोगी होगा जब आप हैश मैप से डेटा पढ़ना शुरू करेंगे।
हैश मैप से डेटा पढ़ना
हैश मैप से डेटा पढ़ने के कई तरीके हैं। आपके द्वारा उपयोग की जाने वाली विधि इस बात पर निर्भर करेगी कि आप डेटा को कैसे दिखाना चाहते हैं या यहां तक कि आप किस प्रकार का डेटा पुनर्प्राप्त करना चाहते हैं।
हैश मैप ऑब्जेक्ट को पुनः प्राप्त करें
यदि आप डेटा को ऑब्जेक्ट के रूप में पुनर्प्राप्त करना चाहते हैं, तो आप बस हैश मैप ऑब्जेक्ट तक पहुंच सकते हैं, जो नीचे दिए गए उदाहरण में फल मैप है।
// सभी वस्तुओं को एक वस्तु के रूप में देखें
व्यवस्था।बाहर.प्रिंट्लन(फल नक्शा);
उपरोक्त कोड की लाइन को मेन क्लास में जोड़कर, कंसोल में निम्न आउटपुट प्रिंट करता है:
{1=नारंगी, 2=खरबूजा, 3=नाशपाती, 4=सेब, 5=बेरीज, 6=आम, 7=बेर}
यद्यपि प्रत्येक मान को बेतरतीब ढंग से हैश मैप में जोड़ा गया था, आउटपुट से आप देखेंगे कि हैश मैप प्रत्येक मान को दी गई कुंजी के आधार पर मूल्यों को आरोही क्रम में संग्रहीत करता है। यह एक ऐसी विशेषता है जो हैश मैप्स को अन्य डेटा संरचनाओं से आगे रखती है जैसे कि सरणी डेटा संरचना जो केवल रैखिक भंडारण का समर्थन करते हैं।
व्यक्तिगत रूप से सभी डेटा पुनर्प्राप्त करें
यदि आप सभी डेटा को अलग-अलग पुनर्प्राप्त करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं के लिये विधि जो आपको हैश मैप के माध्यम से पार करने और प्रत्येक मान और उसकी संबंधित कुंजी को प्रिंट करने की अनुमति देती है। यह विधि मैप इंटरफ़ेस को नियोजित करती है जिसे हैश मैप वर्ग लागू करता है।
// एक पुनरावर्तक के साथ सभी आइटम देखें
के लिए (हैश मैप. प्रवेश<पूर्णांक, स्ट्रिंग> फल: फल मैप.एंट्रीसेट ())
{
System.out.println("चाभी: " + फल.गेटकी () + " मूल्य: " + फल। getValue ());
}
उपरोक्त विधि को अपने कोड में जोड़ने से आपके कंसोल में निम्न आउटपुट प्रिंट होगा:
कुंजी: 1 मान: नारंगी
कुंजी: 2 मूल्य: तरबूज
कुंजी: 3 मान: नाशपाती
कुंजी: 4 मान: सेब
कुंजी: 5 मान: जामुन
कुंजी: 6 मान: आम
कुंजी: 7 मान: बेर
एक विशिष्ट मूल्य प्राप्त करें
हैश मैप वर्ग में एक है प्राप्त() विधि जो एक कुंजी लेती है और इस कुंजी पर मैप किया गया मान लौटाती है।
// एक आइटम प्राप्त करें
व्यवस्था।बाहर.प्रिंट्लन(फल नक्शा।प्राप्त(4));
उपरोक्त कोड की लाइन कंसोल में निम्न आउटपुट प्रिंट करती है:
सेब
हैश मैप में डेटा अपडेट करना
हैश मैप ऑब्जेक्ट बनाने और पॉप्युलेट करने के बाद, आप इसका उपयोग कर सकते हैं बदलने के() मैप में किसी भी आइटम को अपडेट करने की विधि। प्रतिस्थापन () विधि में दो या तीन तर्क होते हैं। पहली प्रतिस्थापन () विधि मौजूदा आइटम से जुड़ी कुंजी लेती है, साथ ही उस नए मान के साथ जिसे आप मैप करना चाहते हैं।
// किसी एक आइटम को बदलें
फ्रूट मैप.रिप्लेस (4, "अंगूर");
व्यवस्था।बाहर.प्रिंट(फल नक्शा);
उपरोक्त कोड को निष्पादित करने से कंसोल में निम्न ऑब्जेक्ट प्रिंट होता है:
{1=नारंगी, 2=खरबूजा, 3=नाशपाती, 4=अंगूर, 5=बेरीज, 6=आम, 7=बेर}
जैसा कि आप ऊपर दी गई वस्तु से देख सकते हैं, "अंगूर" 4 को मैप करता है, जिसे पहले "Apple" में मैप किया गया था।
दूसरी प्रतिस्थापन () विधि मौजूदा आइटम, मौजूदा आइटम और प्रतिस्थापन मूल्य से जुड़ी कुंजी लेती है।
// किसी एक आइटम को बदलें
फ्रूट मैप.रिप्लेस (4, "सेब", "अंगूर");
व्यवस्था।बाहर.प्रिंट(फल नक्शा);
उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:
{1=नारंगी, 2=खरबूजा, 3=नाशपाती, 4=अंगूर, 5=बेरीज, 6=आम, 7=बेर}
हैश मैप से डेटा हटाना
आप या तो अपने हैश मैप से किसी विशिष्ट आइटम को हटा सकते हैं हटाना() विधि का उपयोग करके या सभी डेटा को हटा दें स्पष्ट() तरीका। निकालें () विधि या तो एक या दो तर्क लेती है। पहली हटाने की विधि उस मूल्य से जुड़ी कुंजी लेती है जिसे आप हटाना चाहते हैं:
// एक आइटम हटाएं
फल नक्शा।हटाना(5);
व्यवस्था।बाहर.प्रिंट्लन(फल नक्शा);
उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:
{1=नारंगी, 2=खरबूजा, 3=नाशपाती, 4=सेब, 6=आम, 7=बेर}
अद्यतन किए गए ऑब्जेक्ट से पता चलता है कि 5 और "बेरीज" की-वैल्यू जोड़ी वाला आइटम अब फ्रूट मैप का हिस्सा नहीं है। दूसरी निकालें () विधि एक कुंजी और वह मान लेती है जिसे वह मैप करता है।
// एक आइटम हटाएं
फल नक्शा.निकालें (5, "जामुन");
व्यवस्था।बाहर.प्रिंट्लन(फल नक्शा);
उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को भी प्रिंट करता है:
{1=नारंगी, 2=खरबूजा, 3=नाशपाती, 4=सेब, 6=आम, 7=बेर}
स्पष्ट () विधि कोई तर्क नहीं लेती है और शून्य हो जाती है।
फल नक्शा।स्पष्ट();
व्यवस्था।बाहर.प्रिंट्लन(फल नक्शा);
उपरोक्त कोड को निष्पादित करने से कंसोल में निम्न खाली वस्तु प्रिंट होती है:
{}
अब आप जावा हैश मैप पर सीआरयूडी संचालन कर सकते हैं
हैश मैप्स कई लोकप्रिय डेटा संरचनाओं में से एक हैं जिन्हें आपको जानना आवश्यक है। यह आलेख आपको जावा हैश मैप्स पर सीआरयूडी संचालन करने का तरीका सिखाता है। हैश मैप एक बहुत ही उपयोगी डेटा संरचना है, इसका मुख्य विक्रय बिंदु यह है कि इसकी पहुंच गति के कारण यह सबसे कुशल डेटा संरचनाओं में से एक है। हालाँकि, इसका उपयोग करना भी बहुत सुविधाजनक है, क्योंकि यह यादृच्छिक भंडारण की अनुमति देता है।