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