【发布时间】:2015-05-07 06:19:41
【问题描述】:
我有一个代码,可以计算文件中出现的单词。我想将它与 2 个文件一起使用,并在单独的表格中显示经常性(两个文件都包含)单词。你的想法是什么,怎么可能用 2 个文件?
while ((inputLine = bufferedReader.readLine()) != null) {
String[] words = inputLine.split("[ \n\t\r.,;:!?(){}]");
for (int counter = 0; counter < words.length; counter++) {
String key = words[counter].toLowerCase();
if (key.length() > 0) {
if (crunchifyMap.get(key) == null) {
crunchifyMap.put(key, 1);
} else {
int value = crunchifyMap.get(key).intValue();
value++;
crunchifyMap.put(key, value);
}
}
}
}
Set<Map.Entry<String, Integer>> entrySet = crunchifyMap.entrySet();
System.out.println("Words" + "\t\t" + "# of Occurances");
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println(entry.getKey() + "\t\t" + entry.getValue());
}
【问题讨论】:
-
如果你只需要两个都出现的词,你可以把每个中的词放到一个
Set,然后用retainAll()得到常用词。 -
你可以试试
Set#retainAll()找集合交集(docs.oracle.com/javase/8/docs/api/java/util/…)
标签: java word-count