java program to find frequency of words in a string code example

Example 1: find the frequency of characters in a string in java

+++METHOD WITH NONDUP+++
public static String FrequencyOfChars(String str) {

String nonDup = "";

for(int i=0; i < str.length(); i++)

if(!nonDup.contains(""+str.charAt(i)))

nonDup+= ""+str.charAt(i);

 String expectedResult = "";

for( int j=0;j < nonDup.length(); j++) {

int count = 0;

for(int i=0; i < str.length(); i++) {

if(str.charAt(i) == nonDup.charAt(j))

count++;
}

expectedResult +=nonDup.charAt(j)+"" + count;
}

return expectedResult;
}



+++METHOD WITH REPLACE METHOD+++
  
public  static  String  FrequencyOfChars(String str) {

String expectedResult = "";

for( int j=0; j < str.length(); j++) {

int count = 0;

for(int i=0; i < str.length(); i++) {

if(str.charAt(i) == str.charAt(j)) {

count++;
}
}

expectedResult +=str.charAt(j)+"" + count;

str = str.replace(""+str.charAt(j) ,  "" ); 
}

return expectedResult;

}

+++WITH LINKED HASH SET+++
  public  static  String  FrequencyOfChars(String str) {

String b=new LinkedHashSet<>(Arrays.asList(str.split(""))).toString();

  b = b.replace(", ","").replace("[","").replace("]","");

String result="";

for(int j=0; j<b.length();j++) {

int count=0;

for(int i=0; i<str.length(); i++){

if(str.substring(i, i+1).equals(""+str.charAt(j)))

count++;

}

result+=b.substring(j, j+1)+count;

}

return result;

}

++++LAST METHOD USING COLLECTIONS+++
  public static String frequency(String str) {

String nonDup="", result="";

for(int i=0; i < str.length(); i++)

if(! nonDup.contains(""+str.charAt(i)))

nonDup += ""+str.charAt(i);

 

for(int i=0; i < nonDup.length(); i++) {

int num = Collections.frequency( Arrays.asList(str.split("") ) ,    ""+nonDup.charAt( i ) );

result += ""+nonDup.charAt(i) + num;

}

 

return result;

}

Example 2: how to find frequency of each word in string in java

HOW TO COUNT OCCURRENCE OF THE WORDS IN STRING 
(It can also be solved by using nested for loops...)

String str = "I am happy and why not and why are you not happy you should be";
   String [] arr = str.split(" ");
   Map<String, Integer> map = new HashMap<>();

   for (int i=0 ; i < arr.length ; i++){
       if (!map.containsKey(arr[i])){
            map.put(arr[i],1);
           } else{
         map.put(arr[i],map.get(arr[i])+1);
        }
        }
     for(Map.Entry<String, Integer> each : map.entrySet()){

    System.out.println(each.getKey()+" occures " + each.getValue() + " times");
    }

Tags:

Java Example