How to check if a key exists in a HashMap in Java

Given a HashMap and a key in Java, the task is to check if this key exists in the HashMap or not.

Examples:

Input: HashMap: {1=Geeks, 2=ForGeeks, 3=GeeksForGeeks}, key = 2
Output: true

Input: HashMap: {1=G, 2=e, 3=e, 4=k, 5=s}, key = 10
Output: false
  1. Using Iterator (Not Efficient):
    1. Get the HashMap and the Key
    2. Create an iterator to iterate over the HashMap using HashMap.iterate() method.
    3. Iterate over the HashMap using the Iterator.hasNext() method.
    4. While iterating, check for the key at that iteration to be equal to the key specified. The entry key of the Map can be obtained with the help of entry.getKey() method.
    5. If the key matches, set the flag as true.
    6. The flag value after iterating, contains the result.

    Below is the implementation of the above approach:



    Program 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to check if a key exists
    // in a HashMap or not
      
    import java.util.*;
      
    public class GFG {
        public static void main(String[] args)
        {
      
            // Create a HashMap
            HashMap<Integer, String>
                map = new HashMap<>();
      
            // Populate the HashMap
            map.put(1, "Geeks");
            map.put(2, "ForGeeks");
            map.put(3, "GeeksForGeeks");
      
            // Get the key to be removed
            int keyToBeChecked = 2;
      
            // Print the initial HashMap
            System.out.println("HashMap: "
                               + map);
      
            // Get the iterator over the HashMap
            Iterator<Map.Entry<Integer, String> >
                iterator = map.entrySet().iterator();
      
            // flag to store result
            boolean isKeyPresent = false;
      
            // Iterate over the HashMap
            while (iterator.hasNext()) {
      
                // Get the entry at this iteration
                Map.Entry<Integer, String>
                    entry
                    = iterator.next();
      
                // Check if this key is the required key
                if (keyToBeChecked == entry.getKey()) {
      
                    isKeyPresent = true;
                }
            }
      
            // Print the result
            System.out.println("Does key "
                               + keyToBeChecked
                               + " exists: "
                               + isKeyPresent);
        }
    }

    chevron_right

    
    

    Output:

    HashMap: {1=Geeks, 2=ForGeeks, 3=GeeksForGeeks}
    Does key 2 exists: true
    

    Program 2: To show why this method is not suggested. If the HashMap contains null values, then this method will throw NullPointerException. This makes this method a non suggestable method to use.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to check if a key exists
    // in a HashMap or not
      
    import java.util.*;
      
    public class GFG {
        public static void main(String[] args)
        {
      
            try {
                // Create a HashMap
                HashMap<Integer, String>
                    map = new HashMap<>();
      
                // Populate the HashMap
                map.put(1, "Geeks");
                map.put(2, "ForGeeks");
                map.put(null, "GeeksForGeeks");
      
                // Get the key to be removed
                int keyToBeChecked = 2;
      
                // Print the initial HashMap
                System.out.println("HashMap: "
                                   + map);
      
                // Get the iterator over the HashMap
                Iterator<Map.Entry<Integer, String> >
                    iterator = map.entrySet().iterator();
      
                // flag to store result
                boolean isKeyPresent = false;
      
                // Iterate over the HashMap
                while (iterator.hasNext()) {
      
                    // Get the entry at this iteration
                    Map.Entry<Integer, String>
                        entry
                        = iterator.next();
      
                    // Check if this key is the required key
                    if (keyToBeChecked == entry.getKey()) {
      
                        isKeyPresent = true;
                    }
                }
      
                // Print the result
                System.out.println("Does key "
                                   + keyToBeChecked
                                   + " exists: "
                                   + isKeyPresent);
            }
            catch (Exception e) {
                System.out.println(e);
            }
        }
    }

    chevron_right

    
    

    Output:

    HashMap: {null=GeeksForGeeks, 1=Geeks, 2=ForGeeks}
    java.lang.NullPointerException
    
  2. Using HashMap.containsKey method(Efficient):
    1. Get the HashMap and the Key
    2. Check if the key exists in the HashMap or not using HashMap.containsKey() method. If the key exists, set the flag as true.
    3. The flag value, contains the result.

    Below is the implementation of the above approach:

    Program 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to check if a key exists
    // in a HashMap or not
      
    import java.util.*;
      
    public class GFG {
        public static void main(String[] args)
        {
      
            // Create a HashMap
            HashMap<Integer, String>
                map = new HashMap<>();
      
            // Populate the HashMap
            map.put(1, "Geeks");
            map.put(2, "ForGeeks");
            map.put(null, "GeeksForGeeks");
      
            // Get the key to be removed
            int keyToBeChecked = 2;
      
            // Print the initial HashMap
            System.out.println("HashMap: "
                               + map);
      
            // Check is key exists in the Map
            boolean isKeyPresent = map.containsKey(keyToBeChecked);
      
            // Print the result
            System.out.println("Does key "
                               + keyToBeChecked
                               + " exists: "
                               + isKeyPresent);
        }
    }

    chevron_right

    
    

    Output:

    HashMap: {null=GeeksForGeeks, 1=Geeks, 2=ForGeeks}
    Does key 2 exists: true
    


My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksForGeeks

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.