黑马程序员技术交流社区
标题:
求大神!关于获取字符串中字符出现的次数问题!!
[打印本页]
作者:
武维京
时间:
2015-3-19 17:34
标题:
求大神!关于获取字符串中字符出现的次数问题!!
class MapTest3
{
public static void main(String[] args)
{
//获取这个字符串中每个字符出现的次数,打印结果:a(1)c(2)...
String s = "sdfgzxcvasdfxcvdf";
//创建集合
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
//遍历字符串
//----------------------------------------------------------------------------------------------
for(int x = 0;x<s.length();x++){
//获取字符
char temp = s.charAt(x);
//判断集合中是否包含这个key,如果不包含,那么就存入集合,并且直接就记录出现一次。
//如果包含这个key,那么就获取这个key对应的value,然后在加1,并存入集合,这样
//就把值之前的value给覆盖了。
if(!tm.containsKey(temp)){
tm.put(temp,1);
}else{
tm.put(temp,tm.get(temp)+1);
}
}
//-----------------------------------------------------------------------------------------------
//底下这些代码可以忽略
Set<Character> keyset = tm.keySet();
Iterator<Character> it = keyset.iterator();
StringBuilder sb = new StringBuilder();
while(it.hasNext()){
Character arr = it.next();
Integer in = tm.get(arr);
sb.append(arr+"("+in+")");
}
System.out.println(sb);
}
}
/*问题:
首先:运行结果是没错的!
自己写完后,看了老师的做法,瞬间不相信自己了!!!!
1,我没有通过null值来判断,而是直接就存入集合了,这样好吗?
2,是不是真的是对自己没信心了。。。。。
*/
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2