Java Program to Find the Occurrence of Words in a String using HashMap

19 Dec, 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<>();         // Splitting 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                // occurrence 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);    }}
{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);    }}
{Bob=1, Alice=1, and=1, is=2, girl=1, boy=1}
sooda367
gabaa406
Java-HashMap
Java-String-Programs
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
Stream In Java
ArrayList in Java
Initializing a List in Java
Java Programming Examples
Convert a String to Character Array in Java
Convert Double to Integer in Java
Implementing a Linked List in Java using Class