作者smith80512 (Henry)
看板java
標題Re: [問題] 字串計數
時間Fri Oct 10 22:54:57 2014
小弟愚鈍,使用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;
}
這是愚鈍的我目前做出來的,再麻煩版上前輩一下下
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.218.46
※ 文章網址: http://www.ptt.cc/bbs/java/M.1412952900.A.5B2.html
→ pelicanper: 你的TreeMap沒有寫comparator出來是排key的順序 10/10 23:02
→ pelicanper: 不是Value(顯示次數),另外如果你一定要ArrayList 10/10 23:02
→ pelicanper: 何必再多做一次TreeMap?換來換去會比較快嗎? 10/10 23:03
→ ssccg: 只要最多和次多,就拿前(or後)兩個放到ArrayList回傳就好啊 10/10 23:20
→ ssccg: 還有map中已有該string的情況你value應該從map中取吧... 10/10 23:27
→ smith80512: 真的非常謝謝各位的幫忙,感激不盡 10/11 00:01