जावा हैशपैप बदलें ()

Java HashMap प्रतिस्थापित () विधि निर्दिष्ट कुंजी के लिए मैपिंग को एक हैशमैप में निर्दिष्ट नए मान के साथ बदल देती है।

replace()विधि का सिंटैक्स है:

 hashmap.replace(K key, V oldValue, V newValue)

यहाँ, हैशमप HashMapवर्ग की एक वस्तु है ।

बदलें () पैरामीटर

replace()विधि 3 मानकों ले सकते हैं।

  • कुंजी - कुंजी जिसका मानचित्रण प्रतिस्थापित किया जाना है
  • ओल्डवैल्यू (वैकल्पिक) - मान को मैपिंग में प्रतिस्थापित किया जाना
  • newValue - oldValue को इस मान से बदल दिया जाता है

बदलें () वापसी मान

HashMap replace()विधि मैपिंग और रिटर्न की जगह लेती है:

  • यदि वैकल्पिक पैरामीटर ओल्डवैल्यू मौजूद नहीं है, तो निर्दिष्ट कुंजी से जुड़े पिछले मूल्य
  • true, अगर वैकल्पिक पैरामीटर oldValue मौजूद है

नोट : विधि वापस आती है null, यदि या तो निर्दिष्ट कुंजी को शून्य मान पर मैप किया जाता है या कुंजी हैशमैप पर मौजूद नहीं है।

उदाहरण 1: HashMap में एक प्रविष्टि बदलें

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // replace mapping for key 2 String value = languages.replace(2, "Java"); System.out.println("Replaced Value: " + value); System.out.println("Updated HashMap: " + languages); ) )

आउटपुट

 HashMap: (1 = पायथन, 2 = अंग्रेजी, 3 = जावास्क्रिप्ट) प्रतिस्थापित मूल्य: अंग्रेजी अपडेट किया गया हैशपॉप: (1 = पायथन, 2 = जावा, 3 = जावास्क्रिप्ट)

उपरोक्त उदाहरण में, हमने भाषाओं के नाम से एक हैशमैप बनाया है। यहां, हमने निर्दिष्ट मूल्य जावा के साथ कुंजी 1 (1 = अंग्रेजी) के लिए प्रविष्टि को बदलने के लिए प्रतिस्थापित () विधि का उपयोग किया है ।

यहां, replace()विधि में वैकल्पिक ओल्डवैल्यू पैरामीटर नहीं है। इसलिए, यह पुराना मूल्य (अंग्रेजी) लौटाता है।

उदाहरण 2: HashMap बदलें () पुराने मूल्य के साथ

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap countries = new HashMap(); // insert items to the HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:" + countries); // replace mapping (Washington = America) countries.replace("Washington", "America", "USA"); // return true countries.replace("Canberra", "New Zealand", "Victoria"); // return false System.out.println("Countries after replace():" + countries); ) )

आउटपुट

 देश: (कैनबरा = ऑस्ट्रेलिया, ओटावा = कनाडा, वाशिंगटन = अमेरिका) देशों को बदलने के बाद (): (कैनबरा = ऑस्ट्रेलिया, ओटावा = कनाडा, वाशिंगटन = यूएसए)

उपरोक्त उदाहरण में, हमने देशों के नाम से एक हैशमैप बनाया है। लाइन नोटिस करें,

 countries.replace("Washington", "America", "USA");

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

हालाँकि, लाइन को नोटिस करें,

 country.replace ("कैनबरा", "न्यूजीलैंड", "विक्टोरिया");

यहां, हैशमैप में, कैनबरा न्यूजीलैंड को महत्व देने के लिए मैप नहीं करता है। इसलिए, प्रतिस्थापित () विधि किसी मान को प्रतिस्थापित नहीं करती है।

नोट : हम हैशमैप से सभी मैपिंग को हटाने के लिए जावा हैशपेयर क्लियर () विधि का उपयोग कर सकते हैं।

HashMap डाल () बनाम बदलने के()

में put()और replace()विधि का वाक्यविन्यास काफी समान है HashMap

 // syntax of put() hashmap.put(key, value) // syntax of replace() hashmap.replace(key, value)

और, जब हैशमैप में निर्दिष्ट कुंजी के लिए मैपिंग शामिल होती है , तो दोनों विधियां निर्दिष्ट कुंजी के साथ जुड़े मूल्य को प्रतिस्थापित करती हैं।

हालाँकि, यदि हैशमैप में निर्दिष्ट कुंजी के लिए कोई मैपिंग नहीं है , तो

  • put()विधि निर्दिष्ट के लिए नए मानचित्रण सम्मिलित करता है कुंजी और मूल्य
  • replace()विधि रिटर्नnull

उदाहरण 3: HashMap put () बनाम। बदलने के()

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages1 = new HashMap(); // insert entries to HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // create another HashMap similar to languages1 HashMap languages2 = new HashMap(); // puts all entries from languages1 to languages2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // use of put() languages2.put(3, "Java"); System.out.println("HashMap after put():" + languages2); // use of replace() languages1.replace(3, "Java"); System.out.println("HashMap after replace():" + languages1); ) )

आउटपुट

 HashMap: (1 = पायथन, 2 = जावास्क्रिप्ट) हैशपॉट को डालने के बाद (): (1 = पायथन, 2 = जावास्क्रिप्ट, 3 = जावा) हैशपॉप को बदलने के बाद (): (1 = पायथन, 2 = जावास्क्रिप्ट)

उपर्युक्त उदाहरण में, हमने भाषाएँ 1 और भाषाएँ 2 नाम के दो हैशमैप बनाए हैं। हमने HashMap putAll () विधि का उपयोग किया है ताकि दोनों हैशमैप में एक ही मैपिंग हो।

यहाँ, हैमपैप में कुंजी 3 के लिए मैपिंग मौजूद नहीं है। इसलिये,

  • put()विधि नए मैपिंग कहते हैं (3 = जावा) के लिएHashMap
  • replace()विधि किसी भी कार्रवाई नहीं करता है

प्रविष्टियों को जोड़ने के बारे में अधिक जानने के लिए, जावा हैशपुत पुट () पर जाएँ।

दिलचस्प लेख...