CodeGym /Java blog /Tilfældig /HashMap getOrDefault metode i Java
John Squirrels
Niveau
San Francisco

HashMap getOrDefault metode i Java

Udgivet i gruppen

Hvad er getOrDefault-metoden til HashMaps i Java?

" getOrDefault- metoden returnerer den værdi, der er knyttet til den angivne nøgle i en HashMap . Hvis denne nøgle ikke er til stede, returneres en standardværdi."
java.util.HashMap - klassen leveres med getOrDefault- metoden for at give et ekstra privilegium til at videregive standardværdien. Standardværdien kan bruges til forskellige formål i forskellige situationer. Dens brug og sammenligning med den simple get-metode vil blive forklaret senere i indlægget.

Hvad er overskriften for getOrDefault()-metoden?

Den almindelige overskrift for getOrDefault- metoden er defineret som følger.

hashMap.getOrDefault(Object key, Object defaultValue)

Parametre bestået

Metodehovedet tager to argumenter. De er optaget sammen med deres datatyper nedenfor.
  1. Den første er den angivne nøgle af objekttypen.
  2. Den anden objekttype er parameter er defaultValue , der sendes for objektnøglen som metodeargument.

Arbejder med getOrDefault() metoden

Du kan forstå, hvordan getOrDefault()- metoden fungerer i de følgende to enkle trin.
  1. GetOrDefault (key, defaultValue) er designet til at den værdi , der svarer til nøglen i HashMap .
  2. Hvis der er en værdi knyttet til nøglen , returneres denne værdi . På den anden side, hvis værdien ikke er tilgængelig, returneres standardværdien , der er sendt som en parameter til denne metode.

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

}

Produktion

Arbejdstidsplan: {mandag=arbejdsdag, torsdag=arbejdsdag, fredag=arbejdsdag, søndag=fridag, onsdag=arbejdsdag, tirsdag=arbejdsdag, lørdag=fridag} Er søndag en arbejdsdag? Fridag Er julen en arbejdsdag? Nationalferie Er påsken en arbejdsdag? National helligdag

Hvorfor bruge metoden getOrDefault() og ikke get()?

Den simple get() metode i Java bruges til at få værdien af ​​den anmodede nøgle i HashMap . Hvis nøglen findes, returneres værdien. Hvis nøglen ikke findes, returneres "null". GetOrDefault () -metoden foretrækkes frem for den simple get-metode, når en standardværdi forventes at returnere. Her er et simpelt eksempel til din forståelse.

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

Produktion

Helligdage: {søndag=sand, lørdag=sand} Er julen en helligdag? sandt Er julen en højtid? nul
Du kan se forskellen mellem getOrDefault og get - metoden. Som udskrevet i outputtet returnerer den første metode standardværdien , hvis nøglen ikke findes, mens sidstnævnte returnerer null.

Konklusion

Ved slutningen af ​​dette indlæg skal du være bekendt med en HashMap 's getOrDefault()- metode. Du rådes til at lære ved praksis. Tjek gerne dette indlæg igen, hvis du går i stå undervejs. Indtil da, fortsæt med at øve og fortsæt med at vokse!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION