CodeGym /Blog Java /Random-FR /Méthode HashMap getOrDefault en Java
Auteur
John Selawsky
Senior Java Developer and Tutor at LearningTree

Méthode HashMap getOrDefault en Java

Publié dans le groupe Random-FR

Qu'est-ce que la méthode getOrDefault pour HashMaps en Java?

«La méthode getOrDefault renvoie la valeur mappée à la clé spécifiée dans un HashMap . Si cette clé n'est pas présente, une valeur par défaut est renvoyée.»
La classe java.util.HashMap est fournie avec la méthode getOrDefault pour donner un privilège supplémentaire de transmission de la valeur par défaut. La valeur par défaut peut être utilisée à différentes fins dans diverses situations. Son utilisation et sa comparaison avec la méthode get simple seront expliquées plus loin dans l'article.

Quel est l'en-tête de la méthode getOrDefault()?

L'en-tête normal de la méthode getOrDefault est défini comme suit.

hashMap.getOrDefault(Object key, Object defaultValue)

Paramètres passés

L'en-tête de la méthode prend deux arguments. Ils sont répertoriés avec leurs types de données ci-dessous.
  1. La première est la clé spécifiée du type d'objet.
  2. L'autre type d'objet est le paramètre defaultValue passé pour la clé d'objet en tant qu'argument de méthode.

Fonctionnement de la méthode getOrDefault()

Vous pouvez comprendre le fonctionnement de la méthode getOrDefault() dans les deux étapes simples suivantes.
  1. Le getOrDefault(key, defaultValue) est conçu pour obtenir la valeur correspondant à la clé dans le HashMap .
  2. Si une valeur est associée à la clé , cette valeur est renvoyée. En revanche, si la valeur n'est pas disponible, alors la defaultValue passée en paramètre à cette méthode est retournée.

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

}

Sortir

Horaires de travail : {lundi=jour ouvrable, jeudi=jour ouvré, vendredi=jour ouvré, dimanche=jour chômé, mercredi=jour ouvré, mardi=jour ouvré, samedi=jour chômé} Le dimanche est-il un jour ouvré ? Jour férié Noël est-il un jour ouvrable ? Fête nationale Est-ce que Pâques est un jour ouvrable ? Fête nationale

Pourquoi utiliser la méthode getOrDefault() et non get() ?

La simple méthode get() en Java est utilisée pour obtenir la valeur de la clé demandée dans le HashMap . Si la clé est trouvée, la valeur est renvoyée. Si la clé n'est pas trouvée, "null" est renvoyé. La méthode getOrDefault() est préférée à la simple méthode get lorsqu'une valeur par défaut doit être renvoyée. Voici un exemple simple pour votre compréhension.

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

Sortir

Jours fériés : {Sunday=true, Saturday=true} Noël est-il un jour férié ? true Noël est-il un jour férié ? nul
Vous pouvez voir la différence entre la méthode getOrDefault et la méthode get . Comme imprimé dans la sortie, la première méthode renvoie la valeur par défaut si la clé n'est pas trouvée tandis que la seconde renvoie null.

Conclusion

À la fin de cet article, vous devez être familiarisé avec la méthode getOrDefault() d' un HashMap . Il est conseillé d'apprendre par la pratique. N'hésitez pas à consulter à nouveau cet article si vous êtes bloqué en cours de route. Jusque-là, continuez à pratiquer et continuez à grandir!
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION