Mi a getOrDefault metódus a Java HashMaps-hez?
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.- Az első az Object típusú megadott kulcs .
- 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.- A getOrDefault(kulcs, alapértelmezettÉrték) úgy van kialakítva, hogy megkapja a HashMap kulcsának megfelelő értéket .
- 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.
GO TO FULL VERSION