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,
- We start by importing the
java.util.HashMap
package, which provides the HashMap class needed to create and manipulate the map. - We declare and initialize a map named
myMap
with some key-value pairs. In this example, the map has integer keys and string values. - We use the
computeIfAbsent
method to set a default value for a key. ThecomputeIfAbsent
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. - 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,
- We start by importing the
java.util.HashMap
package, which provides the HashMap class needed to create and manipulate the map. - We declare and initialize a map named
myMap
with some key-value pairs. In this example, the map has integer keys and string values. - We use the
computeIfAbsent
method to set multiple default values for keys. ThecomputeIfAbsent
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. - 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,
- We start by importing the
java.util.HashMap
package, which provides the HashMap class needed to create and manipulate the map. - We declare and initialize a map named
myMap
with some key-value pairs. In this example, the map has integer keys and string values. - We use the
putIfAbsent
method to set a default value for a key based on a condition. TheputIfAbsent
method takes the key and the value to be inserted if the key is not already present in the map. - 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
- How to create an Empty Map in Java ?
- How to create a Map with Initial Key-Value Pairs in Java ?
- How to Print a Map in Java ?
- How to Add a Key-Value Pair to a Map in Java ?
- How to Set a Default Value for a Key in a Map in Java ?
- How to Update the Value for a Key in a Map in Java ?
- How to Check if a Map is Empty in Java ?
- How to Check if a Key Exists in a Map in Java ?
- How to Check if a Value Exists in a Map in Java ?
- How to Get the Value Associated with a Key in a Map in Java ?
- How to Remove a Key-Value Pair from a Map in Java ?
- How to Remove Key-Value Pairs from a Map Based on Values in Java ?
- How to Clear All Key-Value Pairs from a Map in Java ?
- How to Iterate Over Keys in a Map in Java ?
- How to Iterate Over Values in a Map in Java ?
- How to Iterate Over Entries (Key-Value Pairs) in a Map in Java ?
- How to Get the Size (Number of Key-Value Pairs) of a Map in Java ?
- How to Convert a Map to an Array of Keys in Java ?
- How to Convert a Map to an Array of Values in Java ?
- How to Merge Two Maps in Java ?
- How to Copy a Map in Java ?
- How to Check if Two Maps are Equal in Java ?
- How to Sort a Map by Keys in Java ?
- How to Sort a Map by Values in Java ?
- How to Filter a Map Based on Keys in Java ?
- How to Filter a Map Based on Values in Java ?
- How to Reduce Values in a Map to a Single Value in Java ?
- How to Convert an Array of Key-Value Pairs to a Map in Java ?
- How to Convert a Map to a JSON String in Java ?
- How to Convert a JSON String to a Map in Java ?
- How to Swap Keys and Values in a Map in Java ?
- How to Create a Map of Maps in Java ?
- How to Iterate Over a Map of Maps in Java ?