CodeGym /Java Blog /अनियमित /जावा में हैश मैप getOrDefault विधि
John Squirrels
स्तर 41
San Francisco

जावा में हैश मैप getOrDefault विधि

अनियमित ग्रुप में प्रकाशित

जावा में हैश मैप्स के लिए getOrDefault विधि क्या है?

" GetOrDefault विधि हैश मैप में निर्दिष्ट कुंजी पर मैप किए गए मान को वापस कर देती है । यदि वह कुंजी मौजूद नहीं है तो एक डिफ़ॉल्ट मान दिया जाता है।"
Java.util.HashMap क्लास getOrDefault मेथड के साथ आता है ताकि डिफॉल्ट वैल्यू पास करने का अतिरिक्त विशेषाधिकार दिया जा सके विभिन्न स्थितियों में विभिन्न उद्देश्यों के लिए डिफ़ॉल्ट मान का उपयोग किया जा सकता है। सरल प्राप्त विधि के साथ इसके उपयोग और तुलना को बाद में पोस्ट में समझाया जाएगा।

GetOrDefault() विधि के लिए शीर्षलेख क्या है?

GetOrDefault विधि के लिए नियमित शीर्षलेख निम्नानुसार परिभाषित किया गया है।

hashMap.getOrDefault(Object key, Object defaultValue)

पैरामीटर उत्तीर्ण

विधि शीर्षलेख दो तर्क लेता है। उन्हें नीचे उनके डेटा प्रकारों के साथ सूचीबद्ध किया गया है।
  1. पहला ऑब्जेक्ट प्रकार की निर्दिष्ट कुंजी है।
  2. अन्य ऑब्जेक्ट प्रकार पैरामीटर है डिफ़ॉल्ट वैल्यू ऑब्जेक्ट कुंजी के लिए विधि तर्क के रूप में पास किया गया है।

GetOrDefault() विधि का कार्य करना

आप getOrDefault() मेथड की कार्यप्रणाली को निम्नलिखित दो सरल चरणों में समझ सकते हैं।
  1. GetOrDefault (कुंजी, डिफ़ॉल्ट वैल्यू) हैश मैप में कुंजी से संबंधित मान प्राप्त करने के लिए डिज़ाइन किया गया है ।
  2. यदि कुंजी से जुड़ा कोई मान है , तो वह मान वापस आ जाता है। दूसरी ओर, यदि मान उपलब्ध नहीं है, तो इस विधि के पैरामीटर के रूप में पास किया गया डिफ़ॉल्ट मान वापस आ जाता है।

उदाहरण 1


import java.util.HashMap;

public class Driver1{

	public static void main(String[] args) {

		// Declare a HashMap
		HashMap weekDays = new HashMap<>();

		// Add data to the HashMap
        weekDays.put("Monday", "Working Day");
        weekDays.put("Tuesday", "Working Day");
        weekDays.put("Wednesday", "Working Day");
        weekDays.put("Thursday", "Working Day");
        weekDays.put("Friday", "Working Day");
        weekDays.put("Saturday", "Off Day");
        weekDays.put("Sunday", "Off Day");
        
        // Print the data in the HashMap
        System.out.println("Working Schedule : " + weekDays + "\n");
              
  
        // Check if the given key is present in the Map
        // IF yes, its value will be returned
        String sunday = weekDays.getOrDefault("Sunday", "No Announcements Yet.");
        System.out.println("Is Sunday a working day?  " + sunday);
        
        // IF not, the default value passed will be returned
        String christmas = weekDays.getOrDefault("Christmas", "National Holiday");
        System.out.println("Is Christmas a working day?  " + christmas);

        // Key not present in the HashMap
        // Default Value returned
        String easter = weekDays.getOrDefault("Easter", "National Holiday");
        System.out.println("Is Easter a working day?  " + easter);
	}

}

उत्पादन

कार्य अनुसूची: {सोमवार = कार्य दिवस, गुरुवार = कार्य दिवस, शुक्रवार = कार्य दिवस, रविवार = अवकाश दिवस, बुधवार = कार्य दिवस, मंगलवार = कार्य दिवस, शनिवार = अवकाश दिवस} क्या रविवार कार्य दिवस है? ऑफ डे क्या क्रिसमस वर्किंग डे है? राष्ट्रीय अवकाश क्या ईस्टर एक कार्य दिवस है? राष्ट्रीय छुट्टी

GetOrDefault() का उपयोग क्यों करें और() विधि प्राप्त न करें?

जावा में सरल प्राप्त () विधि का उपयोग हैश मैप में अनुरोधित कुंजी का मान प्राप्त करने के लिए किया जाता है । यदि कुंजी मिल जाती है, तो मान वापस आ जाता है। यदि कुंजी नहीं मिलती है, तो "शून्य" वापस आ जाता है। जब डिफ़ॉल्ट मान वापस आने की उम्मीद हो तो getOrDefault () विधि को सरल प्राप्त विधि पर प्राथमिकता दी जाती है । आपकी समझ के लिए यहां एक सरल उदाहरण दिया गया है।

उदाहरण 2


import java.util.HashMap;
public class Driver2{

	public static void main(String[] args) {

	  HashMap<Object, Boolean> holidays = new HashMap<>();

	  // Add data to the HashMap
        holidays.put("Saturday",  true);
        holidays.put("Sunday", true);
        
        // Print the data in the HashMap
        System.out.println("Holidays: " + holidays + "\n");

        // Key not present, default value returned
        Object christmas = holidays.getOrDefault("Christmas", true);
        System.out.println("Is Christmas a holiday?  " + christmas);
        
        // Key not present, null returned
        christmas = holidays.get("Christmas");
        System.out.println("Is Christmas a holiday?  " + christmas);
	}
}

उत्पादन

छुट्टियाँ: {Sunday=true, Saturday=true} क्या क्रिसमस की छुट्टी है? सच क्या क्रिसमस की छुट्टी है? व्यर्थ
आप getOrDefault और get मेथड के बीच अंतर देख सकते हैं । जैसा कि आउटपुट में मुद्रित किया गया है, यदि कुंजी नहीं मिलती है तो पहली विधि डिफ़ॉल्ट मान लौटाती है जबकि बाद वाला रिटर्न शून्य होता है।

निष्कर्ष

इस पोस्ट के अंत तक, आपको हैश मैप की getOrDefault() विधि से परिचित होना चाहिए। आपको अभ्यास द्वारा सीखने की सलाह दी जाती है। यदि आप रास्ते में फंस जाते हैं तो बेझिझक इस पोस्ट को दोबारा जांचें। तब तक, अभ्यास करते रहें और बढ़ते रहें!
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION