जावा हैशपप कंप्यूट ()

Java HashMap कंप्यूट () विधि एक नए मान की गणना करती है और इसे हैशमैप में निर्दिष्ट कुंजी के साथ जोड़ती है।

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

 hashmap.compute(K key, BiFunction remappingFunction)

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

कंप्यूट () पैरामीटर्स

compute()विधि 2 पैरामीटर लेता है:

  • कुंजी - कुंजी जिसके साथ गणना मूल्य जुड़ा होना है
  • रीमैपिंगफ़ंक्शन - फ़ंक्शन जो निर्दिष्ट कुंजी के लिए नए मान की गणना करता है

नोट : रीमैपिंगफ़ंक्शन दो तर्क ले सकता है। इसलिए, के रूप में माना जाता है BiFunction

कंप्यूट () रिटर्न वैल्यू

  • कुंजी से जुड़ा नया मान लौटाता है
  • nullयदि कोई कुंजी के साथ जुड़े मूल्य नहीं देता है

नोट : यदि रीमैपिंगफंक्शन का परिणाम है null, तो निर्दिष्ट कुंजी के लिए मैपिंग हटा दी जाती है।

उदाहरण: नया मूल्य सम्मिलित करने के लिए HashMap गणना ()

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap prices = new HashMap(); // insert entries to the HashMap prices.put("Shoes", 200); prices.put("Bag", 300); prices.put("Pant", 150); System.out.println("HashMap: " + prices); // recompute the value of Shoes with 10% discount int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100); System.out.println("Discounted Price of Shoes: " + newPrice); // print updated HashMap System.out.println("Updated HashMap: " + prices); ) )

आउटपुट

 HashMap: (पंत = 150, बैग = 300, जूते = 200) जूते की रियायती कीमत: 180 अपडेट किया गया हाशप: (पंत = 150, बैग = 300, जूते = 180

उपरोक्त उदाहरण में, हमने एक हैशमैप नाम की कीमतें बनाई हैं। अभिव्यक्ति पर ध्यान दें,

 prices.compute("Shoes", (key, value) -> value - value * 10/100)

यहाँ,

  • (कुंजी, मूल्य) -> मूल्य - मूल्य * 10/100 - यह एक लंबोदर अभिव्यक्ति है। यह जूते के पुराने मूल्य को 10% तक कम कर देता है और इसे वापस कर देता है। लैम्ब्डा अभिव्यक्ति के बारे में अधिक जानने के लिए, जावा लैम्ब्डा एक्सप्रेशंस पर जाएँ।
  • price.compute () - जूते के लिए मैपिंग के लिए लैम्ब्डा एक्सप्रेशन द्वारा लौटाए गए नए मूल्य को संबद्ध करता है।

हमने लैंबडा एक्सप्रेशन को दो मापदंडों को रेक करने वाले फ़ंक्शन के रूप में उपयोग किया है।

नोट : जावा के आधिकारिक दस्तावेज के अनुसार, हाशप मर्ज () विधि की तुलना में सरल है compute()

अनुशंसित पाठ

  • HashMap computeIfAbsent () - मान की गणना करता है यदि निर्दिष्ट कुंजी को किसी मूल्य पर मैप नहीं किया गया है
  • HashMap computeIfPresent () - मान की गणना करता है यदि निर्दिष्ट कुंजी पहले से किसी मान पर मैप की गई है

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