CodeGym /Java blog /Véletlen /HashMap getOrDefault metódus Java nyelven
John Squirrels
Szint
San Francisco

HashMap getOrDefault metódus Java nyelven

Megjelent a csoportban

Mi a getOrDefault metódus a Java HashMaps-hez?

„A getOrDefault metódus visszaadja a HashMap megadott kulcsára leképezett értéket . Ha ez a kulcs nincs jelen, akkor a rendszer egy alapértelmezett értéket ad vissza."
A java.util.HashMap osztály a getOrDefault metódussal érkezik, hogy extra jogosultságot biztosítson az alapértelmezett érték átadására. Az alapértelmezett érték különböző helyzetekben különböző célokra használható. Használatát és összehasonlítását az egyszerű beszerzési módszerrel a bejegyzés későbbi részében ismertetjük.

Mi a fejléce a getOrDefault() metódushoz?

A getOrDefault metódus szokásos fejléce a következőképpen van definiálva.

hashMap.getOrDefault(Object key, Object defaultValue)

Paraméterek sikeresek

A metódus fejlécének két argumentuma van. Az alábbiakban szerepelnek az adattípusaikkal együtt.
  1. Az első az Object típusú megadott kulcs .
  2. A másik objektumtípus az objektumkulcshoz metódus argumentumként átadott defaultValue paraméter.

A getOrDefault() metódus működése

A getOrDefault() metódus működését a következő két egyszerű lépésben ismerheti meg.
  1. A getOrDefault(kulcs, alapértelmezettÉrték) úgy van kialakítva, hogy megkapja a HashMap kulcsának megfelelő értéket .
  2. Ha van érték társítva a kulcshoz , akkor ez az érték kerül visszaadásra. Másrészt, ha az érték nem érhető el, akkor a metódusnak paraméterként átadott defaultValue kerül visszaadásra.

1. példa


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

}

Kimenet

Munkarend: {Hétfő=Munkanap, Csütörtök=Munkanap, Péntek=Munkanap, Vasárnap=Szabadnap, Szerda=Munkanap, Kedd=Munkanap, Szombat=Szabadnap} A vasárnap munkanap? Szabadnap Munkanap a karácsony? Nemzeti ünnep Munkanap a húsvét? Nemzeti ünnep

Miért használja a getOrDefault() metódust, és miért nem a get() metódust?

A Java egyszerű get() metódusa a HashMap kért kulcs értékének lekérésére szolgál . Ha a kulcs megtalálható, az értéket a rendszer visszaadja. Abban az esetben, ha a kulcs nem található, „null”-t ad vissza. A getOrDefault() metódust előnyben részesítjük az egyszerű get metódussal szemben, amikor az alapértelmezett érték visszaadása várható. Íme egy egyszerű példa, hogy megértse.

2. példa


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

Kimenet

Ünnepnapok: {Sunday=true, Saturday=true} Ünnep a karácsony? igaz Ünnep a karácsony? nulla
Láthatja a különbséget a getOrDefault és a get metódus között. Ahogy a kimenetben is szerepel, az első módszer az alapértelmezett értéket adja vissza , ha a kulcs nem található, míg az utóbbi nullát ad vissza.

Következtetés

A bejegyzés végére ismernie kell a HashMap getOrDefault () metódusát. Javasoljuk, hogy gyakorlással tanuljon. Nyugodtan nézd meg újra ezt a bejegyzést, ha elakadsz az úton. Addig is gyakorolj és fejlődj!
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION