Count the occurrence of each character in a string using Java program
Contents
Count frequency of each character in a String
In some cases, we want to check the occurrence of each character in a string. Based on the occurrence, we might decide our further logic building in the real word applications.
Example : revisitclass
r – 1
e – 1
v – 1
i – 2
t – 1
c – 1
l – 1
a – 1
s – 3
Java program to calculate the occurrence of each character
- Since Hashmap allows to store the key and value pairs in java, we are using the same to store the each character (key) and its frequency (value).
- Get method in Hashmap – It is used to retrieve the value from the hashmap.
- Put method in Hashmap – It is used to add the key & value pair in the hashmap.
- The string value is converted to Character array so that we can iterate each character using for loop.
- If the character is already present in the hashmap, we just increment the value.
- If the character is not present in the hashmap, we add the character as key and the value as 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import java.util.HashMap; import java.util.Map; public class CountCharacter { public static void main(String[] args) { //input String String input = "revisitclass"; int startingValue=1; //Creating a hashmap to store character as a key and occurrence as a value Map<Character,Integer> charWithcount = new HashMap<>(); char[] inputCharArray = input.toCharArray(); // iterate each character from characterArray for(Character eachChar : inputCharArray){ //condition is true if the character is already present in the map if(charWithcount.containsKey(eachChar)){ //increment the character occurrence in the map //Hashmap doesn't allow duplicate keys so it increments the value alone charWithcount.put(eachChar,charWithcount.get(eachChar)+1); }else{ // put the new character in the map with starting value as 1 charWithcount.put(eachChar,startingValue); } } for(Character inputChar : charWithcount.keySet()){ //search for value using character Integer count = charWithcount.get(inputChar); // print each character and its occurrence System.out.println( inputChar + ": " + count); } } } |
Output
1 2 3 4 5 6 7 8 9 |
a: 1 r: 1 s: 3 c: 1 t: 1 e: 1 v: 1 i: 2 l: 1 |