जावा हैशपॉप कम्प्यूट IfPresent ()

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

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

 hashmap.computeIfPresent(K key, BiFunction remappingFunction)

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

computeIfPresent () पैरामीटर

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

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

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

computeIfPresent () रिटर्न वैल्यू

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

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

उदाहरण 1: जावा हैशपप कम्प्यूट IfPresent ()

 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% VAT int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100); System.out.println("Price of Shoes after VAT: " + shoesPrice); // print updated HashMap System.out.println("Updated HashMap: " + prices); ) )

आउटपुट

 HashMap: (पंत = 150, बैग = 300, जूते = 200) वैट के बाद जूते की कीमत: 220 अद्यतन हाशप: (पंत = 150, बैग = 300, जूते = 220)

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

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

यहाँ,

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

यहाँ, लैम्बडा एक्सप्रेशन रीमैपिंग फ़ंक्शन के रूप में कार्य करता है। और, यह दो पैरामीटर लेता है।

नोट : computeIfPresent()यदि हैशमैप में कुंजी मौजूद नहीं है, तो हम विधि का उपयोग नहीं कर सकते हैं ।

अनुशंसित पाठ

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

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