# Find frequency of characters using Hashmap

### Question

Given a word, find the frequency of each character in the word. Get the input from the user and output must be as follows

### Logic

• To find frequency of characters, check each character, if it comes first time set the count of that character to 1.
• If any character occurs more than once increment the count accordingly.
• Finally, print the count of each character.

### Algorithm

1. Create a Hashmap. In hashmap, we can store key and values. For each key, there will be one value. See this for more details related to the hashmap
2. Here we treat a character as key and count as its value.
3. If we see a character the first time and insert the key and set value 1 ( ex: ‘a’ is key and value is 1)
4. If the character is already present in map increase the value by one.
5. Finally, convert the map to set using entryset() function and print frequency of characters.

### Program

```import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

class Frequency
{
public static void main(String ar[])
{
String in;
int temp;
Scanner sc = new Scanner(System.in);
System.out.println("enter string");
in = sc.next();                             //get input word
Map<Character,Integer> map= new HashMap<>();
char[] arr = in.toCharArray();              //convert string to character array
int length = arr.length;
System.out.println(length);
for(int i=0;i<length;i++)
{
if(!map.containsKey(arr[i]))            //if key not present in map
{
map.put(arr[i], 1);             //insert count 1 for characer arr[i]

}
else
{
temp= map.get(arr[i));               //get count of the character
temp++;

}

}
/*converting map to equivalent set*/
System.out.println("The frequency is "+map.entrySet());

/*iterating over map using keys*/
Set<Character> keys = map.keySet();
for(Character key : keys)
{
System.out.println("Key :"+ key+"Value :"+map.get(key));
}

}
}
```

### Analysis

worst case – O(n) n is the length of the word and we check character one by one so complexity is of order n.

### You might also like…

Smallest alphabet greater than given character

Program to print all the substrings using java ### Sree Hari Sanjeev

The founder and CEO of Wisdom Overflow. His enthusiasm and effort has taken the blog to next level. You will be motivated just by taking a look at his daily schedule.