Re: [問題] 字串計數

作者: smith80512 (Henry)   2014-10-10 22:54:57
小弟愚鈍,使用TreeMap的方法,達成了計數字串的重複
但試不出來怎麼對到ArrayList,我沒有說清楚
回傳值一定要ArrayList<String>
public ArrayList<String> excute(String input) {
// TODO Auto-generated constructor stub
int value=0;
ArrayList<String> alt=new ArrayList<String>();
String[] s=input.replace(",", " ").replace(".", " ").replace("!","
").split(" "); //split回傳String[]
System.out.println();
System.out.println();
TreeMap<String, Integer> tm=new TreeMap<String, Integer>();
for(String temp:s){
if(tm.containsKey(temp)==false){
value=1;
tm.put(temp, value);
}else{
value++;
tm.put(temp, value);
}
}
System.out.println(tm);
return alt;
}
這是愚鈍的我目前做出來的,再麻煩版上前輩一下下
作者: pelicanper (派立肯)   2014-10-10 23:02:00
你的TreeMap沒有寫comparator出來是排key的順序不是Value(顯示次數),另外如果你一定要ArrayList何必再多做一次TreeMap?換來換去會比較快嗎?
作者: ssccg (23)   2014-10-10 23:20:00
只要最多和次多,就拿前(or後)兩個放到ArrayList回傳就好啊還有map中已有該string的情況你value應該從map中取吧...
作者: smith80512 (Henry)   2014-10-11 00:01:00
真的非常謝謝各位的幫忙,感激不盡

Links booklink

Contact Us: admin [ a t ] ucptt.com