把下面的代码稍加改造就能如你所愿了
//TreeMap的特点:
//如果已经有a这个键,并对应某这个值;再往里存a这个键,但对应的值变了,
//那么后存进来的会把前一个覆盖掉。
//我们可以利用TreeMap的这些小特点去判断 某个字符串当中有多少个不重复的字符,如果重复了就判断重复了 多少,下面的代码就可以实现。
import java.util.*;
class MapTest3
{
public static void main(String[] args)
{
charCount("aabfcdabcdfa");
}
public static void charCount(String str)//用于判断str这个字符串变量中有多少个不同
{ //的字符,每个字符有多少个是相同的。
char[]chs=str.toCharArray();
TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();
for(int x=0;x<chs.length;x++)
{
Integer value=tm.get(chs[x]);
//System.out.println(tm);
if(value==null)
{
tm.put(chs[x],1);//判断每一个字符进来时TreeMap中是不是已经存在。
} //如果不存在就把它存进来
else
{
value=value+1;
tm.put(chs[x],value);//如果存在就让value值加1在重新存进来
}
}
System.out.println("一共有"+tm.size()+"不同的字符");
System.out.println("这些字符分别是"+tm);
}
}
|