Java LinkedHashMap getOrDefault() Method

The LinkedHashMap.getOrDefault(Object key, V defaultValue) method in Java is used to retrieve the value associated with a specific key in a LinkedHashMap, or return a default value if the key is not present.

Table of Contents

  1. Introduction
  2. getOrDefault Method Syntax
  3. Examples
    • Retrieving Existing Values
    • Handling Non-Existent Keys
  4. Real-World Use Case
    • Example: Fetching Default User Preferences
  5. Conclusion

Introduction

The LinkedHashMap.getOrDefault(Object key, V defaultValue) method is a member of the LinkedHashMap class in Java. It allows you to retrieve the value associated with a specific key, or return a default value if the key is not present in the map. This can be useful in scenarios where you need to ensure a value is always returned, even if the key is not found in the map.

getOrDefault() Method Syntax

The syntax for the getOrDefault method is as follows:

public V getOrDefault(Object key, V defaultValue)
  • The method takes two parameters:
    • key of type Object, which represents the key whose associated value is to be returned.
    • defaultValue of type V, which represents the value to be returned if the key is not found.
  • The method returns the value associated with the specified key, or defaultValue if the map contains no mapping for the key.

Examples

Retrieving Existing Values

The getOrDefault method can be used to retrieve existing values from a LinkedHashMap.

Example

import java.util.LinkedHashMap;

public class GetOrDefaultExample {
    public static void main(String[] args) {
        // Creating a LinkedHashMap with String keys and Integer values
        LinkedHashMap<String, Integer> people = new LinkedHashMap<>();

        // Adding entries to the LinkedHashMap
        people.put("Ravi", 25);
        people.put("Priya", 30);
        people.put("Vijay", 35);

        // Retrieving existing values using getOrDefault
        Integer ageRavi = people.getOrDefault("Ravi", 0);
        Integer agePriya = people.getOrDefault("Priya", 0);

        // Printing the retrieved values
        System.out.println("Age of Ravi: " + ageRavi);
        System.out.println("Age of Priya: " + agePriya);
    }
}

Output:

Age of Ravi: 25
Age of Priya: 30

Handling Non-Existent Keys

The getOrDefault method returns the specified default value if the key is not found in the LinkedHashMap.

Example

import java.util.LinkedHashMap;

public class NonExistentKeyExample {
    public static void main(String[] args) {
        // Creating a LinkedHashMap with String keys and Integer values
        LinkedHashMap<String, Integer> people = new LinkedHashMap<>();

        // Adding entries to the LinkedHashMap
        people.put("Ravi", 25);
        people.put("Priya", 30);
        people.put("Vijay", 35);

        // Attempting to retrieve a value for a non-existent key using getOrDefault
        Integer ageAmit = people.getOrDefault("Amit", 0);

        // Printing the result
        System.out.println("Age of Amit: " + ageAmit);
    }
}

Output:

Age of Amit: 0

Real-World Use Case

Example: Fetching Default User Preferences

A common real-world use case for LinkedHashMap.getOrDefault(Object key, V defaultValue) is fetching default user preferences when a specific preference is not set by the user. For example, let's consider a scenario where user preferences are stored in a LinkedHashMap, and we need to fetch preferences with a default value if a preference is not set.

Example

import java.util.LinkedHashMap;

public class UserPreferences {
    public static void main(String[] args) {
        // Creating a LinkedHashMap to store user preferences
        LinkedHashMap<String, String> preferences = new LinkedHashMap<>();

        // Adding some preferences to the LinkedHashMap
        preferences.put("theme", "dark");
        preferences.put("notifications", "enabled");

        // Fetching preferences with default values
        String themePreference = preferences.getOrDefault("theme", "light");
        String notificationsPreference = preferences.getOrDefault("notifications", "disabled");
        String fontSizePreference = preferences.getOrDefault("fontSize", "medium");

        // Printing the preferences
        System.out.println("Theme: " + themePreference);
        System.out.println("Notifications: " + notificationsPreference);
        System.out.println("Font Size: " + fontSizePreference);
    }
}

Output:

Theme: dark
Notifications: enabled
Font Size: medium

In this example, LinkedHashMap.getOrDefault(Object key, V defaultValue) is used to fetch user preferences with default values if certain preferences are not set, demonstrating how to handle both existing and non-existent keys.

Conclusion

The LinkedHashMap.getOrDefault(Object key, V defaultValue) method in Java provides a way to retrieve the value associated with a specific key or return a default value if the key is not present in the map. By understanding how to use this method, you can ensure that a value is always returned, even if the key is not found, making it a versatile tool for data management in your Java applications.

Comments