CodeGym /Java Blog /Random /HashMap getOrDefault na pamamaraan sa Java
John Squirrels
Antas
San Francisco

HashMap getOrDefault na pamamaraan sa Java

Nai-publish sa grupo

Ano ang getOrDefault na pamamaraan para sa HashMaps sa Java?

“Ibinabalik ng getOrDefault method ang value na nakamapa sa tinukoy na key sa isang HashMap . Kung wala ang key na iyon, ibabalik ang isang default na halaga."
Ang klase ng java.util.HashMap ay kasama ng getOrDefault na paraan upang magbigay ng dagdag na pribilehiyo na maipasa ang default na halaga. Maaaring gamitin ang default na halaga para sa iba't ibang layunin sa iba't ibang sitwasyon. Ang paggamit at paghahambing nito sa simpleng paraan ng pagkuha ay ipapaliwanag mamaya sa post.

Ano ang header para sa getOrDefault() method?

Ang regular na header para sa getOrDefault na pamamaraan ay tinukoy bilang mga sumusunod.

hashMap.getOrDefault(Object key, Object defaultValue)

Naipasa ang Mga Parameter

Ang header ng pamamaraan ay tumatagal ng dalawang argumento. Naka-enlist sila kasama ng kanilang mga uri ng data sa ibaba.
  1. Ang una ay ang tinukoy na susi ng uri ng Bagay.
  2. Ang iba pang uri ng Object ay parameter ay defaultValue na ipinasa para sa object key bilang argumento ng pamamaraan.

Paggawa ng getOrDefault() method

Maiintindihan mo ang paggana ng getOrDefault() na pamamaraan sa sumusunod na dalawang simpleng hakbang.
  1. Ang getOrDefault(key, defaultValue) ay idinisenyo upang makuha ang value na tumutugma sa key sa HashMap .
  2. Kung may value na nauugnay sa key , ibabalik ang value na iyon . Sa kabilang banda, kung hindi available ang value, ibabalik ang defaultValue na ipinasa bilang parameter sa paraang ito.

Halimbawa 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);
	}

}

Output

Iskedyul ng Paggawa : {Lunes=Araw ng Trabaho, Huwebes=Araw ng Trabaho, Biyernes=Araw ng Trabaho, Linggo=Araw ng Trabaho, Miyerkules=Araw ng Trabaho, Martes=Araw ng Trabaho, Sabado=Araw ng Trabaho} Ang Linggo ba ay araw ng trabaho? Araw ng Pagtatrabaho Ang Pasko ba ay isang araw ng trabaho? Pambansang Piyesta Opisyal ba ang Pasko ng Pagkabuhay ay isang araw ng trabaho? Pambansang Holiday

Bakit gagamitin ang getOrDefault() at hindi get() na pamamaraan?

Ang simpleng get() na paraan sa Java ay ginagamit upang makuha ang halaga ng hiniling na key sa HashMap . Kung natagpuan ang susi, ibabalik ang halaga. Kung sakaling hindi mahanap ang susi, ibabalik ang "null". Ang getOrDefault() method ay mas gusto kaysa sa simpleng get method kapag ang isang default na value ay inaasahang babalik. Narito ang isang simpleng halimbawa para sa iyong pang-unawa.

Halimbawa 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);
	}
}

Output

Mga Holiday: {Sunday=true, Saturday=true} Holiday ba ang Pasko? totoo Ang Pasko ba ay holiday? wala
Maaari mong makita ang pagkakaiba sa pagitan ng getOrDefault at get method. Tulad ng naka-print sa output, ang unang paraan ay nagbabalik ng default na halaga kung ang susi ay hindi natagpuan habang ang huli ay nagbabalik ng null.

Konklusyon

Sa pagtatapos ng post na ito, dapat na pamilyar ka sa paraan ng getOrDefault() ng HashMap . Pinapayuhan kang matuto sa pamamagitan ng pagsasanay. Huwag mag-atubiling suriin muli ang post na ito kung natigil ka sa daan. Hanggang doon, patuloy na magsanay at patuloy na lumago!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION