mapreduce中wordcount的java实现

用java模拟词频统计。

有3个文件:text1: hello world

                    text2:hello hadoop

                    text3:hello mapreduce

对上面的文件进行词频统计:结果应该是:hello:3;    hadoop:1;    world:1;    mapreduce:1

代码实现如下:

package count;

import java.util.Hashtable;
import java.util.Iterator;
import java.util.StringTokenizer;

public class Count {

    public static void main(String[] args) {
        String [] text = new String[]{"hello world", "hello hadoop", "hello mapreduce"};
        Hashtable ht = new Hashtable();
        for(int i=0; i<3; i++){
            StringTokenizer st = new StringTokenizer(text[i]);
            while(st.hasMoreTokens()){
                String word = st.nextToken();
                if(!ht.containsKey(word))
                    ht.put(word, new Integer(1));
                else{
                    int wc = ((Integer)ht.get(word)).intValue() + 1;
                    ht.put(word, new Integer(wc));
                }
            }
            
        }
        for(Iterator itr = ht.keySet().iterator(); itr.hasNext();){
            String word = (String)itr.next();
            System.out.print(word + ":" + (Integer)ht.get(word)+"; ");
        }
            
    }

}

mapreduce中wordcount的java实现_第1张图片

你可能感兴趣的:(mapreduce中wordcount的java实现)