赞
踩
-
- //需求:将一串字符串比如 eeadbcd 输出为a(1)b(1)c(1)d(2)e(2)的形式,即字母+出现的次数
- import java.util.*;
-
- /**
- * Created by patkritLee on 2017/3/16.
- */
- public class MapTest {
- public static void main(String[] args){
- String s = charCount("adawdawdawcdwadawd");
- System.out.println(s);
- }
- public static String charCount(String str){
- char[] chs = str.toCharArray();
- TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
- int cnt = 0;
- for(int x = 0;x < chs.length;x++){
- Integer value = tm.get(chs[x]);
- if(value!=null)
- cnt = value;
- cnt++;
- tm.put(chs[x],cnt);
- cnt = 0;
- }
- StringBuilder sb = new StringBuilder();
- Set<Map.Entry<Character,Integer>> entrySet = tm.entrySet();
- Iterator<Map.Entry<Character,Integer>> it = entrySet.iterator();
- while(it.hasNext()) {
- Map.Entry<Character,Integer> me = it.next();
- Character ch = me.getKey();
- Integer value = me.getValue();
- sb.append(ch+"("+value+")");
- }
- return sb.toString();
- }
- }
输出:a(6)c(1)d(6)w(5)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。