手机
当前位置:查字典教程网 >编程开发 >Java >java 字符串词频统计实例代码
java 字符串词频统计实例代码
摘要:复制代码代码如下:packagecom.gpdi.action;importjava.util.ArrayList;importjava.u...

复制代码 代码如下:

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 List<WordCount> statistics(String word) {

List<WordCount> rs = new ArrayList<WordCount>();

Map <String,Obj> map = new HashMap<String,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.Comparator<WordCount>(){

@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();

List<WordCount> rs = s.statistics(word);

for(WordCount word1 : rs) {

System.out.println(word1.getWord()+"*"+word1.getCount());

}

}

}

【java 字符串词频统计实例代码】相关文章:

java之左旋转字符串介绍

java使用数组和链表实现队列示例

java中 spring 定时任务 实现代码

Java多线程下载的实现方法

java学习:日期的运算代码

java实现大文件分割与合并的实例代码

java匿名内部类实例简析

通过jxl.jar 读取、导出excel的实例代码

Java Clone(类的复制)实例代码

java string类的常用方法详细介绍

精品推荐
分类导航