- 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,是不是真的是对自己没信心了。。。。。
- */
复制代码 |
|