0

我有文本(可以不时更改),我需要传入主要参数,并且我需要创建 Map 集合来计算放置单词和出现的次数。

aaa bbb cccc aaaa

Result 
(aaa,2
bbb,1
ccc,1
....

在地图收集中做到这一点的最佳方法是什么?

我看到了几个Multiset的例子,但我想知道如何在Map *集合中做到这一点。*

我已尝试使用以下代码,但在计数器中看不到单词和出现次数

    for(String Text:args){
        System.out.println(Text);

        String[] words=Text.split(" ");

        HashMap<String,Integer> counter=new HashMap<String,Integer>();
        for (String w: Arrays.asList(Text)){
          Integer num=counter.get(w);
          if (num!=null)
              counter.put(w,num+1);
          else
              counter.put(w,1);
        }   

    }
4

1 回答 1

4

最好的方法是使用一个用于计算频率的Multiset 。是教程。但是,您应该依赖一个名为guava-libraries 的库

于 2012-08-08T12:09:12.593 回答