How to Set a Default Value for a Key in a Map in Java - Step by Step Examples



How to Set a Default Value for a Key in a Map in Java ?

Answer

To set a default value for a key in a map in Java, you can use the computeIfAbsent method.



✐ Examples

1 Setting a Default Value Using computeIfAbsent Method

We can set a default value for a key in a map in Java using the computeIfAbsent method, which inserts a key-value pair if the key does not already exist in the map.

For example,

  1. We start by importing the java.util.HashMap package, which provides the HashMap class needed to create and manipulate the map.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the computeIfAbsent method to set a default value for a key. The computeIfAbsent method takes the key and a function that returns the default value to be inserted if the key is not already present in the map.
  4. We print the updated map to the console using a for-each loop and System.out.println.

Java Program

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Declare and initialize a map
        Map<Integer, String> myMap = new HashMap<>();
        myMap.put(1, "one");
        myMap.put(2, "two");
        myMap.put(3, "three");

        // Set a default value using computeIfAbsent method
        myMap.computeIfAbsent(4, k -> "default");

        // Print the updated map
        for (Map.Entry<Integer, String> entry : myMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

1: one
2: two
3: three
4: default

2 Setting Multiple Default Values Using computeIfAbsent Method

We can set multiple default values for keys in a map in Java using the computeIfAbsent method, which inserts key-value pairs if the keys do not already exist in the map.

For example,

  1. We start by importing the java.util.HashMap package, which provides the HashMap class needed to create and manipulate the map.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the computeIfAbsent method to set multiple default values for keys. The computeIfAbsent method takes the key and a function that returns the default value to be inserted if the key is not already present in the map.
  4. We print the updated map to the console using a for-each loop and System.out.println.

Java Program

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Declare and initialize a map
        Map<Integer, String> myMap = new HashMap<>();
        myMap.put(1, "one");
        myMap.put(2, "two");
        myMap.put(3, "three");

        // Set multiple default values using computeIfAbsent method
        myMap.computeIfAbsent(4, k -> "default");
        myMap.computeIfAbsent(5, k -> "default");

        // Print the updated map
        for (Map.Entry<Integer, String> entry : myMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

1: one
2: two
3: three
4: default
5: default

3 Setting a Default Value Conditionally Using putIfAbsent Method

We can set a default value for a key in a map in Java using the putIfAbsent method, which inserts a key-value pair if the key does not already exist in the map, based on a condition.

For example,

  1. We start by importing the java.util.HashMap package, which provides the HashMap class needed to create and manipulate the map.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the putIfAbsent method to set a default value for a key based on a condition. The putIfAbsent method takes the key and the value to be inserted if the key is not already present in the map.
  4. We print the updated map to the console using a for-each loop and System.out.println.

Java Program

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Declare and initialize a map
        Map<Integer, String> myMap = new HashMap<>();
        myMap.put(1, "one");
        myMap.put(2, "two");
        myMap.put(3, "three");

        // Set a default value conditionally using putIfAbsent method
        myMap.putIfAbsent(4, "default");

        // Print the updated map
        for (Map.Entry<Integer, String> entry : myMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

1: one
2: two
3: three
4: default

Summary

In this tutorial, we learned How to Set a Default Value for a Key in a Map in Java language with well detailed examples.




More Java Maps Tutorials

  1. How to create an Empty Map in Java ?
  2. How to create a Map with Initial Key-Value Pairs in Java ?
  3. How to Print a Map in Java ?
  4. How to Add a Key-Value Pair to a Map in Java ?
  5. How to Set a Default Value for a Key in a Map in Java ?
  6. How to Update the Value for a Key in a Map in Java ?
  7. How to Check if a Map is Empty in Java ?
  8. How to Check if a Key Exists in a Map in Java ?
  9. How to Check if a Value Exists in a Map in Java ?
  10. How to Get the Value Associated with a Key in a Map in Java ?
  11. How to Remove a Key-Value Pair from a Map in Java ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in Java ?
  13. How to Clear All Key-Value Pairs from a Map in Java ?
  14. How to Iterate Over Keys in a Map in Java ?
  15. How to Iterate Over Values in a Map in Java ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in Java ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in Java ?
  18. How to Convert a Map to an Array of Keys in Java ?
  19. How to Convert a Map to an Array of Values in Java ?
  20. How to Merge Two Maps in Java ?
  21. How to Copy a Map in Java ?
  22. How to Check if Two Maps are Equal in Java ?
  23. How to Sort a Map by Keys in Java ?
  24. How to Sort a Map by Values in Java ?
  25. How to Filter a Map Based on Keys in Java ?
  26. How to Filter a Map Based on Values in Java ?
  27. How to Reduce Values in a Map to a Single Value in Java ?
  28. How to Convert an Array of Key-Value Pairs to a Map in Java ?
  29. How to Convert a Map to a JSON String in Java ?
  30. How to Convert a JSON String to a Map in Java ?
  31. How to Swap Keys and Values in a Map in Java ?
  32. How to Create a Map of Maps in Java ?
  33. How to Iterate Over a Map of Maps in Java ?