java 字符串词频统计实例代码

7f4bjqfh6dlsbw

7f4bjqfh6dlsbw

2016-02-19 10:51

想要天天向上,就要懂得享受学习。图老师为大家推荐java 字符串词频统计实例代码,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

代码如下:

package com.gpdi.action;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class WordsStatistics {

    class Obj {
        int count ;
        Obj(int count){
            this.count = count;
        }
    }

    public ListWordCount statistics(String word) {
        ListWordCount rs = new ArrayListWordCount();
        Map String,Obj map = new HashMapString,Obj();

        if(word == null ) {
            return null;
        }
        word = word.toLowerCase();
        word = word.replaceAll("'s", "");
        word = word.replaceAll(",", "");
        word = word.replaceAll("-", "");
        word = word.replaceAll("\.", "");
        word = word.replaceAll("'", "");
        word = word.replaceAll(":", "");
        word = word.replaceAll("!", "");
        word = word.replaceAll("n", "");

        String [] wordArray = word.split(" ");
        for(String simpleWord : wordArray) {
            simpleWord = simpleWord.trim(); 
            if (simpleWord != null && !simpleWord.equalsIgnoreCase("")) {
                Obj cnt = map.get(simpleWord);
                if ( cnt!= null ) {
                    cnt.count++;
                }else {
                    map.put(simpleWord, new Obj(1));
                }
            }
        }

        for(String key : map.keySet()) {
            WordCount wd = new WordCount(key,map.get(key).count);
            rs.add(wd);
        }

        Collections.sort(rs, new java.util.ComparatorWordCount(){
            @Override
            public int compare(WordCount o1, WordCount o2) {
                int result = 0 ;
                if (o1.getCount() o2.getCount() ) {
                    result = -1;
                }else if (o1.getCount() o2.getCount()) {
                    result = 1;
                }else {
                    int strRs = o1.getWord().compareToIgnoreCase(o2.getWord());
                    if ( strRs 0 ) {
                        result = 1;
                    }else {
                        result = -1 ;
                    }
                }
                return result;
            }

        });
        return rs;
    }

     
    public static void main(String args[]) {
        String word = "Pinterest is might be aa ab aa ab marketer's dream  - ths site is largely used to curate products " ;
        WordsStatistics s = new WordsStatistics();
        ListWordCount rs = s.statistics(word);
        for(WordCount word1 : rs) {
            System.out.println(word1.getWord()+"*"+word1.getCount());
        }
    }

}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

java 字符串词频统计实例代码

编程语言 网络编程
java 字符串词频统计实例代码

Java字符串详解的实例介绍

编程语言 网络编程
Java字符串详解的实例介绍

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java 字符串匹配函数

Web开发
java 字符串匹配函数

java中对字符串每个字符统计的方法

编程语言 网络编程
java中对字符串每个字符统计的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java字符串的合并

编程语言 网络编程
java字符串的合并

java中字符串与日期的转换实例

编程语言 网络编程
java中字符串与日期的转换实例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

归并排序的实现代码与思路

归并排序的实现代码与思路

一条语句简单解决“每个Y的最新X”的经典sql语句

一条语句简单解决“每个Y的最新X”的经典sql语句
下拉加载更多内容 ↓