- import java.util.*;
- public class MapTest2
- {
- public static void main(String[] args)
- {
- String s = print("asfkjahfjkkslhfkjshfaskjhf");//建立对象S指向方法调用之后的字符串
- System.out.println(s);//打印字符串
- }
- public static String print(String str)
- {
- char[] chs =str.toCharArray();//将字符串转化为字符数组
- TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();//建立一个字符和整型类型的集合
- int count = 0;//定义一个计数器
- for(int x=0;x<chs.length;x++)//从字符数组从头到尾遍历
- {
- Integer value =tm.get(chs[x]);//定义出value
- if(value!=null)
- count = value;//当这一对元素没出现过时,将value赋给count
- count++;
- tm.put(chs[x], count);//然后第一次为1 以后依次增加
- count=0; //租后将计数器重新归0
- }
- StringBuilder sb =new StringBuilder();//定义一个StringBuilder来操控字符串
- Set<Character> keySet = tm.keySet();//set集合具有迭代器可以进行遍历
- Iterator<Character> it = keySet.iterator();//定义迭代器
- while(it.hasNext())//遍历开始
- {
- char ch =it.next();//获取key
- Integer value = tm.get(ch);//获取value
- sb.append(ch+"("+value+")");//在原有的字符串后面添加新的字符串
-
-
- }
-
- return sb.toString();//返回一个字符串
- }
- }
- a(3)f(5)h(4)j(4)k(5)l(1)s(4)
复制代码 |
|