CodeGym /Java-blogg /Tilfeldig /HashMap getOrDefault-metoden i Java
John Squirrels
Nivå
San Francisco

HashMap getOrDefault-metoden i Java

Publisert i gruppen

Hva er getOrDefault-metoden for HashMaps i Java?

" getOrDefault- metoden returnerer verdien som er tilordnet den angitte nøkkelen i en HashMap . Hvis den nøkkelen ikke er til stede, returneres en standardverdi."
Java.util.HashMap - klassen kommer med getOrDefault- metoden for å gi et ekstra privilegium til å sende standardverdien. Standardverdien kan brukes til forskjellige formål i forskjellige situasjoner. Bruken og sammenligningen med den enkle få-metoden vil bli forklart senere i innlegget.

Hva er overskriften for getOrDefault()-metoden?

Den vanlige overskriften for getOrDefault- metoden er definert som følger.

hashMap.getOrDefault(Object key, Object defaultValue)

Parametre bestått

Metodehodet tar to argumenter. De er vervet sammen med datatypene deres nedenfor.
  1. Den første er den angitte nøkkelen til objekttypen.
  2. Den andre objekttypen er parameteren er defaultValue som sendes for objektnøkkelen som metodeargumentet.

Arbeid med getOrDefault()-metoden

Du kan forstå hvordan getOrDefault() -metoden fungerer i de følgende to enkle trinnene.
  1. GetOrDefault (key, defaultValue) er designet for å verdien som tilsvarer nøkkelen i HashMap .
  2. Hvis det er en verdi knyttet til nøkkelen , returneres denne verdien . På den annen side, hvis verdien ikke er tilgjengelig, returneres standardverdien som er sendt som en parameter til denne metoden.

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

}

Produksjon

Arbeidsplan: {mandag=arbeidsdag, torsdag=arbeidsdag, fredag=arbeidsdag, søndag=fridag, onsdag=arbeidsdag, tirsdag=arbeidsdag, lørdag=fridag} Er søndag en arbeidsdag? Fridag Er jul en arbeidsdag? Nasjonal helligdag Er påsken en arbeidsdag? Nasjonal helligdag

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

Den enkle get()- metoden i Java brukes for å få verdien av den forespurte nøkkelen i HashMap . Hvis nøkkelen blir funnet, returneres verdien. Hvis nøkkelen ikke blir funnet, returneres "null". GetOrDefault () -metoden foretrekkes fremfor den enkle get-metoden når en standardverdi forventes å returnere. Her er et enkelt eksempel for 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);
	}
}

Produksjon

Helligdager: {søndag=true, Saturday=true} Er julen en høytid? sant Er jul en høytid? null
Du kan se forskjellen mellom getOrDefault og get - metoden. Som skrevet ut i utdataene, returnerer den første metoden standardverdien hvis nøkkelen ikke blir funnet mens sistnevnte returnerer null.

Konklusjon

På slutten av dette innlegget må du være kjent med en HashMap sin getOrDefault()- metode. Du anbefales å lære ved å øve. Sjekk gjerne dette innlegget en gang til hvis du blir sittende fast underveis. Inntil da, fortsett å øve og fortsett å vokse!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION