"cbxzbvavdvgd"获取字符串中,每一个字母出现次数:"a(1)b(2)c(1)d(2)g(1)v(3)x(1)z(1)"
public class TreeMapTest {
public static void main(String[] args) {
String string="cbxzbvavdvgd";
char[]ch=string.toCharArray();//把字符串转换为字符数组
//创建map集合<每个字符,字符的个数>
Map<Character, Integer>map=new TreeMap<Character, Integer>();
//遍历字符数组,获取到每一个字符。
for (char c : ch) {
//得到键对应的值
Integer integer=map.get(c);
//如果得到的值为null,就记为一次
//否则,就累加
if (integer==null) {
map.put(c, 1);
}else {
map.put(c, ++integer);
}
}
System.out.println(map);//{a=1, b=2, c=1, d=2, g=1, v=3, x=1, z=1}
//拼接
StringBuffer stringBuffer=new StringBuffer();
Set<Character>set=map.keySet();//得到键
for (Character character : set) {
Integer integer=map.get(character);//通过键得到对应的值
//拼接
stringBuffer.append(character).append("(").append(integer).append(")");
}
//得到字符串
String sb=stringBuffer.toString();
System.out.println(sb);//a(1)b(2)c(1)d(2)g(1)v(3)x(1)z(1)
}
}
|
|