JavaGian java tutorial and java interview question and answer

JavaGian , Free Online Tutorials, JavaGian provides tutorials and interview questions of all technology like java tutorial, android, java frameworks, javascript, ajax, core java, sql, python, php, c language etc. for beginners and professionals.

write a program to check if a key exists in a HashMap in Java collection

write a program to check if a key exists in a HashMap in Java collection


 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=Java, 2=JavaHashMap, 3=JavaPrograme}, key = 2

Output: true


Input: HashMap: {1=G, 2=e, 3=e, 4=k, 5=s}, key = 10

Output: false

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Using Iterator (Not Efficient):

Get the HashMap and the Key

Create an iterator to iterate over the HashMap using HashMap.iterate() method.

Iterate over the HashMap using the Iterator.hasNext() method.

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.

If the key matches, set the flag as true.

The flag value after iterating, contains the result.

Below is the implementation of the above approach:


Program 1:



// Java program to check if a key exists 

// in a HashMap or not 

  

import java.util.*; 

  

public class JavaHashMapExample { 

    public static void main(String[] args) 

    { 

  

        // Create a HashMap 

        HashMap<Integer, String> 

            map = new HashMap<>(); 

  

        // Populate the HashMap 

        map.put(1, "Java"); 

        map.put(2, "JavaHashMap"); 

        map.put(3, "JavaPrograme"); 

  

        // 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); 

    } 

Output:



HashMap: {1=Java, 2=JavaHashMap, 3=JavaPrograme}

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.




// Java program to check if a key exists 

// in a HashMap or not 

  

import java.util.*; 

  

public class JavaHashMapExample { 

    public static void main(String[] args) 

    { 

  

        try { 

            // Create a HashMap 

            HashMap<Integer, String> 

                map = new HashMap<>(); 

  

            // Populate the HashMap 

            map.put(1, "Java"); 

            map.put(2, "JavaHashMap"); 

            map.put(null, "JavaPrograme"); 

  

            // 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); 

        } 

    } 

Output:

HashMap: {null=JavaPrograme, 1=Java, 2=JavaHashMap}

java.lang.NullPointerException

Using HashMap.containsKey method(Efficient):

Get the HashMap and the Key

Check if the key exists in the HashMap or not using HashMap.containsKey() method. If the key exists, set the flag as true.

The flag value, contains the result.

Below is the implementation of the above approach:


Program 1:


filter_none

edit

play_arrow


brightness_4

// Java program to check if a key exists 

// in a HashMap or not 

  

import java.util.*; 

  

public class JavaHashMapExample { 

    public static void main(String[] args) 

    { 

  

        // Create a HashMap 

        HashMap<Integer, String> 

            map = new HashMap<>(); 

  

        // Populate the HashMap 

        map.put(1, "Java"); 

        map.put(2, "JavaHashMap"); 

        map.put(null, "JavaPrograme"); 

  

        // 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); 

    } 

Output:

HashMap: {null=JavaPrograme, 1=Java, 2=JavaHashMap}

Does key 2 exists: true

.