जावा ट्रीमैप डेटा संरचना का उपयोग कैसे करें

जावा ट्रीमैप डेटा संरचना का उपयोग कैसे करें

जावा ट्रीमैप क्लास मैप इंटरफेस का उपयोग करके ट्री स्ट्रक्चर में डेटा स्टोर करता है। यह वर्ग AbstractMap वर्ग का विस्तार करता है और, इसके मूल वर्ग की तरह, TreeMap के दो प्रकार के पैरामीटर हैं। इसका एक प्रकार का पैरामीटर TreeMap में कुंजियों का प्रतिनिधित्व करता है, जबकि दूसरा मानों का प्रतिनिधित्व करता है।





ट्रीमैप डेटा संरचना कुंजी-मूल्य जोड़े को संग्रहीत करती है और आपको इस डेटा पर सीआरयूडी संचालन करने की अनुमति देती है।





जावा में ट्री मैप कैसे बनाएं

ट्रीमैप क्लास में चार कंस्ट्रक्टर हैं जिनका उपयोग आप एक नया ट्रीमैप ऑब्जेक्ट बनाने के लिए कर सकते हैं। डिफ़ॉल्ट कंस्ट्रक्टर चार में से सबसे लोकप्रिय है। यह कंस्ट्रक्टर कोई तर्क नहीं लेता है और एक खाली ट्री मैप बनाता है।





// Create a new tree map 
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();

उपरोक्त कोड एक खाली ट्री मैप उत्पन्न करता है जिसे कहा जाता है ग्राहकों .

ट्रीमैप डेटा संरचना को आबाद करना

रखना() विधि किसी आइटम को TreeMap ऑब्जेक्ट में जोड़ती है। इसमें दो तर्क लगते हैं- एक कुंजी और उसका मूल्य। आप किसी भी यादृच्छिक क्रम में ट्री मैप में आइटम जोड़ सकते हैं और डेटा संरचना उन्हें उनकी चाबियों के अनुसार आरोही क्रम में संग्रहीत करेगी।



// Populate a tree map 
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");

उपरोक्त कोड ग्राहकों के ट्री मैप में यादृच्छिक क्रम में पांच ग्राहकों को जोड़ता है।

ट्रीमैप में आइटम देखना

TreeMap वर्ग अपने डेटा को किसी ऑब्जेक्ट में संग्रहीत करता है। इसलिए, ट्री मैप में सभी आइटम देखने के लिए आप बस ट्री मैप ऑब्जेक्ट को कंसोल पर प्रिंट कर सकते हैं:





// View all tree map items as an object 
System.out.println(customers);

उपरोक्त कोड कंसोल पर निम्न आउटपुट प्रिंट करता है:

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

ध्यान दें कि ऊपर दी गई वस्तु वस्तुओं को आरोही क्रम में प्रदर्शित करती है। आप प्रत्येक आइटम और उसकी संबंधित कुंजी का उपयोग करके भी देख सकते हैं लूप के लिए एक जावा .





// View all items with an iterator 
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}

उपरोक्त कोड कंसोल पर निम्न आउटपुट प्रिंट करता है:

Key: 101 Value: Kim Brown 
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones

ट्रीमैप में आइटम अपडेट करना

ट्रीमैप वर्ग आपको का उपयोग करके किसी मौजूदा आइटम को अपडेट करने की अनुमति देता है बदलने के() तरीका। दो प्रतिस्थापन विधियां हैं। पहली विधि एक मौजूदा कुंजी और नया मान लेती है जिसे आप मौजूदा कुंजी को मैप करना चाहते हैं।

// Replace existing value 
customers.replace(101,"Kim Smith");
System.out.println(customers);

उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:

{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

जैसा कि आप देख सकते हैं किम ब्राउन अब है किम स्मिथ . दूसरी प्रतिस्थापन () विधि एक मौजूदा कुंजी, कुंजी का वर्तमान मान और नया मान लेती है जिसे आप कुंजी पर मैप करना चाहते हैं।

// Replace existing value 
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);

उपरोक्त कोड कंसोल में निम्न ऑब्जेक्ट को प्रिंट करता है:

फ़ंक्शन कैलकुलेटर का डोमेन और रेंज
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

उपरोक्त वस्तु में मिशेल नूह के स्थान पर जिम रिले .

TreeMap से आइटम हटाना

यदि आप ट्री मैप से किसी एक आइटम को हटाना चाहते हैं, तो हटाना() विधि आपका एकमात्र विकल्प है। यह उस आइटम से जुड़ी कुंजी लेता है जिसे आप हटाना चाहते हैं और हटाए गए मान को वापस कर देता है।

// Remove an item 
customers.remove(104);
System.out.println(customers);

ऊपर दिए गए कोड को चलाने से निम्न ऑब्जेक्ट कंसोल पर प्रिंट होता है:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

इस जावा क्लास एक भी है स्पष्ट() विधि जो आपको ट्री मैप में सभी आइटम्स को हटाने की अनुमति देती है।

ट्रीमैप बनाम हैश मैप जावा क्लास

ट्री-मैप और हैश-मैप दो अधिक लोकप्रिय जावा मानचित्र वर्ग हैं। वे दोनों AbstractMap वर्ग का विस्तार करते हैं। यह संबंध ट्रीमैप और हैश मैप कक्षाओं को बहुत सारे समान कार्यों तक पहुँच प्रदान करता है।

हालाँकि, इन दो मानचित्र वर्गों के बीच कुछ उल्लेखनीय अंतर हैं। ट्रीमैप मैप इंटरफ़ेस के रेड-ब्लैक ट्री कार्यान्वयन का उपयोग करता है, जबकि हैश मैप हैश तालिका का उपयोग करता है। हैश मैप आपको एक नल कुंजी स्टोर करने की अनुमति देता है, जबकि ट्रीमैप नहीं करता है। अंत में, हैश मैप ट्री-मैप से तेज है। पूर्व की एल्गोरिथम गति ओ (1) है जबकि बाद की ओ (लॉग (एन)) है।