62,614
社区成员
发帖
与我相关
我的任务
分享
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.Map.Entry;
public class StringTokenization {
public static void main(String args[]) {
StringTokenizer stok = new StringTokenizer(args[0],"~@#$%^&* %!?,|. I am a");//这里是限制输出的字符串
Map <String, Integer> counter = new HashMap <String, Integer>();
while (stok.hasMoreTokens()) {
String str = stok.nextToken();
// System.out.println(str);
if(counter.get(str) != null){
counter.put(str, counter.get(str) + 1);
}else{
counter.put(str, 1);
}
}
for(Entry <String, Integer> entry : counter.entrySet()){
System.out.println(entry.getKey() + "=> + entry.getValue());
}
}
}
private static Map<String,Integer> parseStr(String str,Map<String,Integer> map){
StringTokenizer stok = new StringTokenizer(str);
while(stok.hasMoreTokens()){
String tmp = stok.nextToken();
if(map.get(tmp) != null){
map.put(tmp,map.get(tmp)+1);
}else
map.put(tmp,1);
}
return map;
}
public static void main(String[] args){
Map<String,Integer> filterMap = new HashMap<String,Integer>();
String fileterStr = "I a word";
//解析过滤单词,放进map
filterMap = parseStr(fileterStr,filterMap);
String contentStr = "I am a boy";
Map<String,Integer> contentMap = new HashMap<String,Integer>();
//解析内容单词,放进map
contentMap = parseStr(contentStr,contentMap);
Set<String> keySet = filterMap.keySet();
Iterator<String> it = keySet.iterator();
//遍历过滤单词map,删除内容过滤map中的过滤单词
while(it.hasNext()){
String stmp = it.next();
if(contentMap.get(stmp) != null){
contentMap.remove(stmp);
}
}
keySet = contentMap.keySet();
it = keySet.iterator();
while(it.hasNext()){
String key = it.next();
System.out.println(key +"--> "+ contentMap.get(key));
}
}