जावा ट्रीमैप क्लास मैप इंटरफेस का उपयोग करके ट्री स्ट्रक्चर में डेटा स्टोर करता है। यह वर्ग AbstractMap वर्ग का विस्तार करता है और, इसके मूल वर्ग की तरह, TreeMap के दो प्रकार के पैरामीटर हैं। इसका एक प्रकार का पैरामीटर TreeMap में कुंजियों का प्रतिनिधित्व करता है, जबकि दूसरा मानों का प्रतिनिधित्व करता है।
ट्रीमैप डेटा संरचना कुंजी-मूल्य जोड़े को संग्रहीत करती है और आपको इस डेटा पर सीआरयूडी संचालन करने की अनुमति देती है।
जावा में ट्री मैप कैसे बनाएं
ट्रीमैप क्लास में चार कंस्ट्रक्टर हैं जिनका उपयोग आप एक नया ट्रीमैप ऑब्जेक्ट बनाने के लिए कर सकते हैं। डिफ़ॉल्ट कंस्ट्रक्टर चार में से सबसे लोकप्रिय है। यह कंस्ट्रक्टर कोई तर्क नहीं लेता है और एक खाली ट्री मैप बनाता है।
// एक नया ट्री मैप बनाएं
ट्री-मैप ग्राहक = नया ट्री-मैप();
उपरोक्त कोड एक खाली ट्री मैप उत्पन्न करता है जिसे कहा जाता है ग्राहकों.
ट्रीमैप डेटा संरचना को आबाद करना
रखना() विधि किसी आइटम को TreeMap ऑब्जेक्ट में जोड़ती है। इसमें दो तर्क लगते हैं- एक कुंजी और उसका मूल्य। आप किसी भी यादृच्छिक क्रम में ट्री मैप में आइटम जोड़ सकते हैं और डेटा संरचना उन्हें उनकी चाबियों के अनुसार आरोही क्रम में संग्रहीत करेगी।
// एक पेड़ का नक्शा तैयार करें
ग्राहक.पुट(105, "जेसिका जोन्स");
ग्राहक.पुट(102, "मार्क विलियम्स");
ग्राहक.पुट(104, "फिल ब्लेयर");
ग्राहक.पुट(101, "किम ब्राउन");
ग्राहक.पुट(103, "जिम रिले");
उपरोक्त कोड ग्राहकों के ट्री मैप में यादृच्छिक क्रम में पांच ग्राहकों को जोड़ता है।
ट्रीमैप में आइटम देखना
TreeMap वर्ग अपने डेटा को किसी ऑब्जेक्ट में संग्रहीत करता है। इसलिए, ट्री मैप में सभी आइटम देखने के लिए आप बस ट्री मैप ऑब्जेक्ट को कंसोल पर प्रिंट कर सकते हैं:
// सभी ट्री मैप आइटम को ऑब्जेक्ट के रूप में देखें
System.out.println (ग्राहक);
उपरोक्त कोड कंसोल पर निम्न आउटपुट प्रिंट करता है:
{101=किम ब्राउन, 102=मार्क विलियम्स, 103=जिम रिले, 104=फिल ब्लेयर, 105=जेसिका जोन्स}
ध्यान दें कि ऊपर दी गई वस्तु वस्तुओं को आरोही क्रम में प्रदर्शित करती है। आप प्रत्येक आइटम और उसकी संबंधित कुंजी का उपयोग करके भी देख सकते हैं लूप के लिए एक जावा.
// एक पुनरावर्तक के साथ सभी आइटम देखें
के लिये (प्रवेश ग्राहक: ग्राहक.एंट्रीसेट ()) {
System.out.println ("कुंजी:" + customer.getKey () + "मान:" + customer.getValue ());
}
उपरोक्त कोड कंसोल पर निम्न आउटपुट प्रिंट करता है:
कुंजी: 101 मान: किम ब्राउन
कुंजी: 102 मान: मार्क विलियम्स
कुंजी: 103 मान: जिम रिले
कुंजी: 104 मान: फिल ब्लेयर
कुंजी: 105 मान: जेसिका जोन्स
ट्रीमैप में आइटम अपडेट करना
ट्रीमैप वर्ग आपको का उपयोग करके किसी मौजूदा आइटम को अपडेट करने की अनुमति देता है बदलने के() तरीका। दो प्रतिस्थापन विधियां हैं। पहली विधि एक मौजूदा कुंजी और नया मान लेती है जिसे आप मौजूदा कुंजी को मैप करना चाहते हैं।
// मौजूदा मूल्य बदलें
ग्राहक.बदलें (101, "किम स्मिथ");
System.out.println (ग्राहक);
उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:
{101=किम स्मिथ, 102=मार्क विलियम्स, 103=जिम रिले, 104=फिल ब्लेयर, 105=जेसिका जोन्स}
जैसा कि आप देख सकते हैं किम ब्राउन अब है किम स्मिथ. दूसरी प्रतिस्थापन () विधि एक मौजूदा कुंजी, कुंजी का वर्तमान मान और नया मान लेती है जिसे आप कुंजी पर मैप करना चाहते हैं।
// मौजूदा मूल्य बदलें
ग्राहक.बदलें (103, "जिम रिले", "मिशेल नूह");
System.out.println (ग्राहक);
उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:
{101=किम ब्राउन, 102=मार्क विलियम्स, 103=मिशेल नूह, 104=फिल ब्लेयर, 105=जेसिका जोन्स}
उपरोक्त वस्तु में मिशेल नूह के स्थान पर जिम रिले.
TreeMap से आइटम हटाना
यदि आप ट्री मैप से किसी एक आइटम को हटाना चाहते हैं, तो हटाना() विधि आपका एकमात्र विकल्प है। यह उस आइटम से जुड़ी कुंजी लेता है जिसे आप हटाना चाहते हैं और हटाए गए मान को वापस कर देता है।
// एक आइटम निकालें
ग्राहक.निकालें (104);
System.out.println (ग्राहक);
ऊपर दिए गए कोड को चलाने से निम्न ऑब्जेक्ट कंसोल पर प्रिंट होता है:
{101=किम स्मिथ, 102=मार्क विलियम्स, 103=मिशेल नूह, 105=जेसिका जोन्स}
इस जावा क्लास एक भी है स्पष्ट() विधि जो आपको ट्री मैप में सभी आइटम्स को हटाने की अनुमति देती है।
ट्रीमैप बनाम। हैश मैप जावा क्लास
ट्री-मैप और हैश-मैप दो अधिक लोकप्रिय जावा मानचित्र वर्ग हैं। वे दोनों AbstractMap वर्ग का विस्तार करते हैं। यह संबंध ट्रीमैप और हैश मैप कक्षाओं को बहुत सारे समान कार्यों तक पहुँच प्रदान करता है।
हालाँकि, इन दो मानचित्र वर्गों के बीच कुछ उल्लेखनीय अंतर हैं। ट्रीमैप मैप इंटरफ़ेस के रेड-ब्लैक ट्री कार्यान्वयन का उपयोग करता है, जबकि हैश मैप हैश तालिका का उपयोग करता है। हैश मैप आपको एक नल कुंजी स्टोर करने की अनुमति देता है, जबकि ट्रीमैप नहीं करता है। अंत में, हैश मैप ट्री-मैप से तेज है। पूर्व की एल्गोरिथम गति ओ (1) है जबकि बाद की ओ (लॉग (एन)) है।