Skip to content
Related Articles

Related Articles

Java Program to Find the Occurrence of Words in a String using HashMap
  • Last Updated : 28 Mar, 2021

HashMap<Key, Value> provides the basic implementation of the Map interface of Java and import java.util.HashMap package or its superclass. HashMap stores the data in (Key, Value) pairs, and accessed by an index of another type (e.g. an Integer). One object is used as a key to another object. If the duplicate key is inserted, it will replace the element of the corresponding key.

Approach :

  • Declare a HashMap in Java of <String, Integer>
  • Split the given string and store the words into a String array.
  • Traversing the array, check if the word is in the HashMap or not.
  • If it is not in the HashMap, then store the word as key and 1 as the initial value; if the word is present in the HashMap then increase the value against the word.
  • Once the traversal is complete, print the HashMap.

Example:

Java




// Java Program to find the occurrence
// of words in a String using HashMap.
import java.io.*;
import java.util.HashMap;
import java.util.Map;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the String
        String str = "Alice is girl and Bob is boy";
        // Declaring a HashMap of <String, Integer>
        Map<String, Integer> hashMap = new HashMap<>();
  
        // Spliiting the words of string
        // and storing them in the array.
        String[] words = str.split(" ");
  
        for (String word : words) {
  
            // Asking whether the HashMap contains the
            // key or not. Will return null if not.
            Integer integer = hashMap.get(word);
  
            if (integer == null)
                // Storing the word as key and its
                // occrence as value in the HashMap.
                hashMap.put(word, 1);
  
            else {
                // Incrementing the value if the word
                // is already present in the HashMap.
                hashMap.put(word, integer + 1);
            }
        }
        System.out.println(hashMap);
    }
}
Output
{Bob=1, Alice=1, and=1, is=2, girl=1, boy=1}

Note that in the above code, we have used Wrapper class i.e. Integer, since the get(key) method returns null.



You can also eliminate the use of integer variable from the above program.

Let us see the code below :

Java




// Java Program to find the occurrence
// of words in a String using HashMap.
import java.io.*;
import java.util.HashMap;
import java.util.Map;
  
class GFG {
    public static void main(String[] args)
    {
  
        String str = "Alice is girl and Bob is boy";
  
        Map<String, Integer> hashMap = new HashMap<>();
  
        String[] words = str.split(" ");
  
        for (String word : words) {
            // containsKey(key) will return a boolean value
            // i.e. true if it contains the key and false if
            // it doesn't.
            if (hashMap.containsKey(word))
                hashMap.put(word, hashMap.get(word) + 1);
  
            else
                hashMap.put(word, 1);
        }
  
        System.out.println(hashMap);
    }
}
Output
{Bob=1, Alice=1, and=1, is=2, girl=1, boy=1}

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :