Finding repeated words on a string and counting the repetitions

后端 未结 29 884
梦谈多话
梦谈多话 2021-02-05 17:49

I need to find repeated words on a string, and then count how many times they were repeated. So basically, if the input string is this:

String s = \"House, House         


        
29条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-05 18:17

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    public class DuplicateWord {
    
        public static void main(String[] args) {
            String para = "this is what it is this is what it can be";
            List < String > paraList = new ArrayList < String > ();
            paraList = Arrays.asList(para.split(" "));
            System.out.println(paraList);
            int size = paraList.size();
    
            int i = 0;
            Map < String, Integer > duplicatCountMap = new HashMap < String, Integer > ();
            for (int j = 0; size > j; j++) {
                int count = 0;
                for (i = 0; size > i; i++) {
                    if (paraList.get(j).equals(paraList.get(i))) {
                        count++;
                        duplicatCountMap.put(paraList.get(j), count);
                    }
    
                }
    
            }
            System.out.println(duplicatCountMap);
            List < Integer > myCountList = new ArrayList < > ();
            Set < String > myValueSet = new HashSet < > ();
            for (Map.Entry < String, Integer > entry: duplicatCountMap.entrySet()) {
                myCountList.add(entry.getValue());
                myValueSet.add(entry.getKey());
            }
            System.out.println(myCountList);
            System.out.println(myValueSet);
        }
    
    }
    

    Input: this is what it is this is what it can be

    Output:

    [this, is, what, it, is, this, is, what, it, can, be]

    {can=1, what=2, be=1, this=2, is=3, it=2}

    [1, 2, 1, 2, 3, 2]

    [can, what, be, this, is, it]

提交回复
热议问题