Re: [問題] 字串計數

看板java作者 (Henry)時間9年前 (2014/10/10 22:55), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串5/8 (看更多)
小弟愚鈍,使用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

10/10 23:02, , 1F
你的TreeMap沒有寫comparator出來是排key的順序
10/10 23:02, 1F

10/10 23:02, , 2F
不是Value(顯示次數),另外如果你一定要ArrayList
10/10 23:02, 2F

10/10 23:03, , 3F
何必再多做一次TreeMap?換來換去會比較快嗎?
10/10 23:03, 3F

10/10 23:20, , 4F
只要最多和次多,就拿前(or後)兩個放到ArrayList回傳就好啊
10/10 23:20, 4F

10/10 23:27, , 5F
還有map中已有該string的情況你value應該從map中取吧...
10/10 23:27, 5F

10/11 00:01, , 6F
真的非常謝謝各位的幫忙,感激不盡
10/11 00:01, 6F
文章代碼(AID): #1KD_D4Mo (java)
討論串 (同標題文章)
文章代碼(AID): #1KD_D4Mo (java)