Java HashMap putIfAbsent()

The syntax of the putIfAbsent() method is:

hashmap.putIfAbsent(K key, V value)

Here, hashmap is an object of the HashMap class.


putIfAbsent() Parameters

The putIfAbsent() method takes two parameters.

  • key - the specified value is associated with this key
  • value - the specified key is mapped with this value

putAbsent() Return Value

  • returns the value associated with the key, if the specified key is already present in the hashmap
  • returns null, if the specified key is already not present in the hashmap

Note:  If the specified key is previously associated with a null value, then also the method returns null.


Example 1: Java HashMap putIfAbsent()

import java.util.HashMap;

class Main {
  public static void main(String[] args){

    // create a HashMap
    HashMap<Integer, String> languages = new HashMap<>();

    // add mappings to HashMap
    languages.put(1, "Python");
    languages.put(2, "C");
    languages.put(3, "Java");
    System.out.println("Languages: " + languages);

    // key already not present in HashMap
    languages.putIfAbsent(4, "JavaScript");

    // key already present in HashMap
    languages.putIfAbsent(2, "Swift");
    System.out.println("Updated Languages: " + languages);
  }
}

Output

Languages: {1=Python, 2=C, 3=Java}
Updated Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}

In the above example, we have created a hashmap named languages. Notice the line,

languages.putIfAbsent(4, "JavaScript");

Here, the key 4 is not already associated with any value. Hence, the putifAbsent() method adds the mapping {4 = JavaScript} to the hashmap.

Notice the line,

languages.putIfAbsent(2, "Swift");

Here, the key 2 is already associated with value Java. Hence, the putIfAbsent() method does not add the mapping {2 = Swift} to the hashmap.

Note: We have used the put() method to add a single mapping to the hashmap. To learn more, visit Java HashMap put().

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community