sim*_*ico 2 java string apache-commons
如何对String进行分区以提取其中出现的所有单词/术语并计算每次出现的次数?例如let:String q = "foo bar foo"
我想要一个DS {<foo,2>, <bar,1>}
.这是我代码附带的最简单的代码*.错误或更简洁的替代方案?
String[] split = q.toString().split("\\s");
Map<String, Integer> terms = new HashMap<String, Integer>();
for (String term : split) {
if(terms.containsKey(term)){
terms.put(term, terms.get(term)+1);
}
}
Run Code Online (Sandbox Code Playgroud)
(还没有编译)
修改后的代码
String[] split = q.toString().split("\\s");
Map<String, Integer> terms = new HashMap<String, Integer>();
for (String term : split) {
int score = 0;
if(terms.containsKey(term)){
score = terms.get(term);
}
terms.put(term, score +1);
}
Run Code Online (Sandbox Code Playgroud)
PS:未经测试.
归档时间: |
|
查看次数: |
1958 次 |
最近记录: |