package sixteen;
import java.util.*;
public class eight2 {
public static void main(String[] args) {
String s= charcount1 ("ajklfsdgfsdssdsdd");
System.out.println(s);
}
public static String charcount1 (String str)
{
char[]ch=str.toCharArray(); //转换成字符数组。
TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();///////////////////////////
for(int x=0;x<ch.length;x++)
{
Integer val= tm.get(ch[x]);////////////////////////////////////
if(val==null)
{
tm.put(ch[x], 1) ;
}
else
{
val=val+1;
tm.put(ch[x],val);
}
}
System.out.println(tm);
StringBuilder b=new StringBuilder();
Set<Map.Entry<Character,Integer>> es=tm.entrySet();
Iterator<Map.Entry<Character,Integer>>it=es.iterator();
while(it.hasNext())
{
Map.Entry<Character,Integer> me=it.next();
Character chr=me.getKey();
Integer val=me.getValue();
b.append(chr+"("+val+")");
}
return b.toString();
}
}
1.麻烦大家具体解释一下TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();这句语句中的<Character,Integer>为什么不能替换成<char,int>
2.Integer val= tm.get(ch[x]);这句话中tm.get(ch[x])不是获取字符串元素吗怎么赋值给int类型的变量了,麻烦大家具体解释一下
|